/* Glutea Auto: generated by scripts/build-themes.mjs from upstream Gitea 1.27.3 + theme/. Do not edit. */
gitea-theme-meta-info{--theme-display-name: "Glutea Auto";--theme-color-scheme: "auto"}
@media (prefers-color-scheme: light){
:root{--is-dark-theme: false;--color-primary: #4183c4;--color-primary-contrast: #ffffff;--color-primary-dark-1: #3876b3;--color-primary-dark-2: #31699f;--color-primary-dark-3: #2b5c8b;--color-primary-dark-4: #254f77;--color-primary-dark-5: #193450;--color-primary-dark-6: #0c1a28;--color-primary-dark-7: #04080c;--color-primary-light-1: #548fca;--color-primary-light-2: #679cd0;--color-primary-light-3: #7aa8d6;--color-primary-light-4: #8db5dc;--color-primary-light-5: #b3cde7;--color-primary-light-6: #d9e6f3;--color-primary-light-7: #f4f8fb;--color-primary-alpha-10: #4183c419;--color-primary-alpha-20: #4183c433;--color-primary-alpha-30: #4183c44b;--color-primary-alpha-40: #4183c466;--color-primary-alpha-50: #4183c480;--color-primary-alpha-60: #4183c499;--color-primary-alpha-70: #4183c4b3;--color-primary-alpha-80: #4183c4cc;--color-primary-alpha-90: #4183c4e1;--color-primary-hover: var(--color-primary-dark-1);--color-primary-active: var(--color-primary-dark-2);--color-secondary: #d0d7de;--color-secondary-dark-1: #c7ced5;--color-secondary-dark-2: #b9c0c7;--color-secondary-dark-3: #99a0a7;--color-secondary-dark-4: #899097;--color-secondary-dark-5: #7a8188;--color-secondary-dark-6: #6a7178;--color-secondary-dark-7: #5b6269;--color-secondary-dark-8: #4b5259;--color-secondary-dark-9: #3c434a;--color-secondary-dark-10: #2c333a;--color-secondary-dark-11: #1d242b;--color-secondary-dark-12: #0d141b;--color-secondary-dark-13: #00040b;--color-secondary-light-1: #dee5ec;--color-secondary-light-2: #e4ebf2;--color-secondary-light-3: #ebf2f9;--color-secondary-light-4: #f1f8ff;--color-secondary-alpha-10: #d0d7de19;--color-secondary-alpha-20: #d0d7de33;--color-secondary-alpha-30: #d0d7de4b;--color-secondary-alpha-40: #d0d7de66;--color-secondary-alpha-50: #d0d7de80;--color-secondary-alpha-60: #d0d7de99;--color-secondary-alpha-70: #d0d7deb3;--color-secondary-alpha-80: #d0d7decc;--color-secondary-alpha-90: #d0d7dee1;--color-secondary-button: var(--color-secondary-dark-4);--color-secondary-hover: var(--color-secondary-dark-5);--color-secondary-active: var(--color-secondary-dark-6);--color-console-fg: #0d1117;--color-console-fg-subtle: #40474d;--color-console-bg: #ffffff;--color-console-border: #d0d7de;--color-console-hover-bg: #f1f3f5;--color-console-active-bg: #d0d7de;--color-console-menu-bg: #f8f9fb;--color-console-menu-border: #d0d7de;--color-console-link: #5c656d;--color-red: #db2828;--color-orange: #f2711c;--color-yellow: #fbbd08;--color-olive: #b5cc18;--color-green: #21ba45;--color-teal: #00b5ad;--color-blue: #2185d0;--color-violet: #6435c9;--color-purple: #a333c8;--color-pink: #e03997;--color-brown: #a5673f;--color-black: #1d2328;--color-red-light: #e45e5e;--color-orange-light: #f59555;--color-yellow-light: #fcce46;--color-olive-light: #d3e942;--color-green-light: #46de6a;--color-teal-light: #08fff4;--color-blue-light: #51a5e3;--color-violet-light: #8b67d7;--color-purple-light: #bb64d8;--color-pink-light: #e86bb1;--color-brown-light: #c58b66;--color-black-light: #4b5b68;--color-red-dark-1: #c82121;--color-orange-dark-1: #e6630d;--color-yellow-dark-1: #e5ac04;--color-olive-dark-1: #a3b816;--color-green-dark-1: #1ea73e;--color-teal-dark-1: #00a39c;--color-blue-dark-1: #1e78bb;--color-violet-dark-1: #5a30b5;--color-purple-dark-1: #932eb4;--color-pink-dark-1: #db228a;--color-brown-dark-1: #955d39;--color-black-dark-1: #2c3339;--color-red-dark-2: #b11e1e;--color-orange-dark-2: #cc580c;--color-yellow-dark-2: #cc9903;--color-olive-dark-2: #91a313;--color-green-dark-2: #1a9537;--color-teal-dark-2: #00918a;--color-blue-dark-2: #1a6aa6;--color-violet-dark-2: #502aa1;--color-purple-dark-2: #8229a0;--color-pink-dark-2: #c21e7b;--color-brown-dark-2: #845232;--color-black-dark-2: #131619;--color-ansi-black: #1e2327;--color-ansi-red: #cc4848;--color-ansi-green: #87ab63;--color-ansi-yellow: #cc9903;--color-ansi-blue: #3a8ac6;--color-ansi-magenta: #d22e8b;--color-ansi-cyan: #00918a;--color-ansi-white: var(--color-console-fg-subtle);--color-ansi-bright-black: #46494d;--color-ansi-bright-red: #d15a5a;--color-ansi-bright-green: #93b373;--color-ansi-bright-yellow: #eaaf03;--color-ansi-bright-blue: #4e96cc;--color-ansi-bright-magenta: #d74397;--color-ansi-bright-cyan: #00b6ad;--color-ansi-bright-white: var(--color-console-fg);--color-series-16-0: #7db233;--color-series-16-1: #499a37;--color-series-16-2: #ce4751;--color-series-16-3: #8f9121;--color-series-16-4: #ac32a6;--color-series-16-5: #7445e9;--color-series-16-6: #c67d28;--color-series-16-7: #4db392;--color-series-16-8: #aa4d30;--color-series-16-9: #2a6f84;--color-series-16-10: #c45327;--color-series-16-11: #3d965c;--color-series-16-12: #792a93;--color-series-16-13: #439d73;--color-series-16-14: #103aad;--color-series-16-15: #982e85;--color-grey: #697077;--color-grey-light: #7c838a;--color-gold: #a1882b;--color-white: #ffffff;--color-diff-added-fg: #177231;--color-diff-added-linenum-bg: #d1f8d9;--color-diff-added-row-bg: #e6ffed;--color-diff-added-row-border: #e6ffed;--color-diff-added-word-bg: #acf2bd;--color-diff-moved-row-bg: #f1f8d1;--color-diff-moved-row-border: #d0e27f;--color-diff-removed-fg: #c61f2b;--color-diff-removed-linenum-bg: #ffcecb;--color-diff-removed-row-bg: #ffeef0;--color-diff-removed-row-border: #f1c0c0;--color-diff-removed-word-bg: #fdb8c0;--color-diff-inactive: #f0f2f4;--color-error-border: #ff818266;--color-error-bg: #ffebe9;--color-error-bg-active: #ffcecb;--color-error-bg-hover: #ffdcd7;--color-error-text: #d1242f;--color-success-border: #4ac26b66;--color-success-bg: #dafbe1;--color-success-text: #1a7f37;--color-warning-border: #d4a72c66;--color-warning-bg: #fff8c5;--color-warning-text: #9a6700;--color-info-border: #54aeff66;--color-info-bg: #ddf4ff;--color-info-text: #0969da;--color-priority-border: #b9a1ff66;--color-priority-bg: #f3e7ff;--color-priority-text: #8250df;--color-red-badge: #db2828;--color-red-badge-bg: #db28281a;--color-red-badge-hover-bg: #db28284d;--color-green-badge: #21ba45;--color-green-badge-bg: #21ba451a;--color-green-badge-hover-bg: #21ba454d;--color-yellow-badge: #fbbd08;--color-yellow-badge-bg: #fbbd081a;--color-yellow-badge-hover-bg: #fbbd084d;--color-orange-badge: #f2711c;--color-orange-badge-bg: #f2711c1a;--color-orange-badge-hover-bg: #f2711c4d;--color-git: #f05133;--color-logo: #609926;--color-body: #ffffff;--color-box-header: #f1f3f5;--color-box-body: #ffffff;--color-box-body-highlight: #ecf5fd;--color-text-dark: #01050a;--color-text: #181c21;--color-text-light: #30363b;--color-text-light-1: #40474d;--color-text-light-2: #5b6167;--color-text-light-3: #747c84;--color-footer: var(--color-nav-bg);--color-timeline: #d0d7de;--color-input-text: var(--color-text-dark);--color-input-background: #fff;--color-input-toggle-background: #d0d7de;--color-input-border: var(--color-secondary-dark-1);--color-light: #00001706;--color-light-border: #0000171d;--color-hover: #00001708;--color-hover-opaque: #f1f3f5;--color-active: #00001714;--color-menu: #f8f9fb;--color-card: #f8f9fb;--color-markup-table-row: #0030600a;--color-markup-code-block: #00306010;--color-markup-code-inline: #00306012;--color-button: #f8f9fb;--color-code-bg: #fafdff;--color-shadow: #00001726;--color-shadow-opaque: #c7ced5;--color-secondary-bg: #f2f5f8;--color-expand-button: #cfe8fa;--color-placeholder-text: var(--color-text-light-3);--color-editor-line-highlight: var(--color-secondary-alpha-30);--color-editor-selection: var(--color-primary-alpha-30);--color-project-column-bg: var(--color-secondary-light-4);--color-caret: var(--color-text-dark);--color-reaction-bg: #0000170a;--color-reaction-hover-bg: var(--color-primary-light-5);--color-reaction-active-bg: var(--color-primary-light-6);--color-tooltip-text: #fbfdff;--color-tooltip-bg: #000017f0;--color-nav-bg: #f6f7fa;--color-nav-hover-bg: var(--color-secondary-light-1);--color-nav-text: var(--color-text);--color-secondary-nav-bg: #f9fafb;--color-label-text: var(--color-text);--color-label-bg: #949da64b;--color-label-hover-bg: #949da6a0;--color-label-active-bg: #949da6ff;--color-accent: var(--color-primary-light-1);--color-small-accent: var(--color-primary-light-6);--color-highlight-fg: #eed200;--color-highlight-bg: #f5efc5;--color-overlay-backdrop: #080808c0;--color-danger: var(--color-red);--color-transparency-grid-light: #fafafa;--color-transparency-grid-dark: #e2e2e2;--color-workflow-edge-hover: #b1b7bd;--color-syntax-keyword: #a73a00;--color-syntax-bool: #076872;--color-syntax-control: #7d5700;--color-syntax-name: #785900;--color-syntax-type: #ae2368;--color-syntax-number: #105ead;--color-syntax-operator: #a73a00;--color-syntax-regexp: #773dc5;--color-syntax-string: #456800;--color-syntax-comment: #506070;--color-syntax-invalid: #c00000;--color-syntax-link: var(--color-primary);--color-syntax-tag: #a73a00;--color-syntax-attribute: #6f41c5;--color-syntax-property: #2060a0;--color-syntax-variable: #944a00;--color-syntax-string-special: #7d5700;--color-syntax-escape: #785900;--color-syntax-entity: #6f41c5;--color-syntax-preproc: #2d6a4b;--color-syntax-preproc-file: #105ead;--color-syntax-decorator: #2d6a4b;--color-syntax-namespace: #555555;--color-syntax-name-pseudo: #6f41c5;--color-syntax-comment-special: #773dc5;--color-syntax-text: inherit;--color-syntax-text-alt: #47525b;--color-syntax-punctuation: inherit;--color-syntax-whitespace: #bbbbbb;--color-syntax-diff-fg: #000000;--color-syntax-deleted-bg: #ffdddd;--color-syntax-inserted-bg: #ddffdd;--color-syntax-emph: #8b5000;--color-syntax-strong: inherit;--color-syntax-heading: #7d5700;--color-syntax-subheading: #456800;--color-syntax-output: #506070;--color-syntax-prompt: #944a00;--color-syntax-traceback: #c00000;--color-syntax-matching-bracket-bg: #00b5ad38;--color-syntax-nonmatching-bracket-bg: #db282838;accent-color:var(--color-accent);color-scheme:light}

/* Glutea LIGHT overrides. Applied on top of upstream/css/theme-gitea-light.css by scripts/build-themes.mjs.
 *
 * This file changes the VALUES of Gitea's own --color-* variables toward the
 * handoff (.original-mocks/, .docs/team/design/handoff-gitea-theme.md). It adds
 * no parallel vocabulary: every property below is one Gitea already defines, so
 * an upgrade is a re-extract and a diff rather than a reconciliation.
 *
 * Two rules govern the numbers, and they occasionally disagree with the mock:
 *
 *  - Gitea uses a single variable for things the mock keeps apart. `a{color:
 *    var(--color-primary)}` makes the accent a TEXT colour on every page, while
 *    `.ui.primary.button{background:var(--color-primary)}` makes it a FILL. The
 *    handoff accent #12a37e is 2.93:1 on this canvas, so as link text it fails
 *    AA. It carries the handoff value anyway, by request: mock fidelity beats
 *    AA on this palette for now, here and in the green/red/purple states.
 *    Restoring the darkening means #0d7659 in --color-primary (5.13:1 on the
 *    canvas, 4.74:1 on the darkest surface it sits on) and #157a47/#c62f34/
 *    #7644d0 in the states, with --color-accent and the -light ramps left on
 *    the handoff hue.
 *  - Where the handoff's colour is decorative but Gitea's variable is real text,
 *    the text value passes AA. --faint #a3a29c is 2.35:1 and Gitea routes
 *    --color-text-light-3 into ::placeholder and prose, so that variable is
 *    darker than the mock's faint.
 *
 * THE FILE HAS TWO PARTS, AND THEY COST DIFFERENT AMOUNTS ON AN UPGRADE.
 *
 *   1. VALUES  - the :root block below. Assignments to variables Gitea already
 *      defines. An upgrade re-extracts upstream and diffs; a renamed variable
 *      shows up as a value we set that upstream no longer reads. Cheap.
 *   2. RULES   - the clearly marked section at the end. Selectors that override
 *      Gitea's own declarations. These depend on upstream MARKUP and upstream
 *      CSS, both of which move faster than variable names, so each one is
 *      justified inline and carries the condition that would let us delete it.
 *      Add one only when no value can express the fix.
 */
/* ==========================================================================
   FACES - the two self-hosted families, declared before the values that name
   them. Files, licences and the subsetting rationale:
   custom-root/public/assets/fonts/README.md.

   No CDN and no external request: a Glutea install has to render correctly
   with no outbound network, so every src below is a local file.

   Paths are RELATIVE, and that is what makes a sub-path install work. A
   relative url() resolves against the stylesheet's own URL, and this file is
   served as <StaticUrlPrefix>/assets/css/theme-glutea-<scheme>.css, so
   ../fonts/x.woff2 lands on <StaticUrlPrefix>/assets/fonts/x.woff2 whatever
   ROOT_URL, sub-path or STATIC_URL_PREFIX the instance is configured with.
   An absolute /assets/... would break the moment Gitea is mounted under a
   sub-path, and the Go template helpers ({{AssetUrlPrefix}}) are not available
   here because build-themes.mjs emits plain CSS, not a template.

   Both faces are VARIABLE fonts, so one file covers the whole weight range and
   font-weight is declared as that range rather than a single number. Gitea
   asks for 400/500/600/700 in different places and all four interpolate from
   the same file.

   Two files per face, split latin / latin-ext, with the unicode-range
   descriptors the subsets were cut on: the browser fetches latin-ext only for
   a page that needs it. This split is load-bearing here, not an optimisation -
   Romanian's s-comma, t-comma and a-breve live in latin-ext while its
   i-circumflex and a-circumflex live in latin, so dropping either file would
   break Romanian content in a way English content would never reveal.

   font-display: swap - text paints immediately in the system stack that
   --fonts-proportional/--fonts-monospace already name behind these families,
   and reflows when the file lands. Never invisible text.
   ========================================================================== */

/* Figtree 2.002, variable wght 300-900. SIL OFL 1.1. UI text. */
@font-face {
  font-family: "Figtree";
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url("../fonts/figtree-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: "Figtree";
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url("../fonts/figtree-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;
}

/* JetBrains Mono 2.211, variable wght 100-800. SIL OFL 1.1. Code and hashes. */
@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("../fonts/jetbrains-mono-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: "JetBrains Mono";
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("../fonts/jetbrains-mono-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;
}

:root {
  /* Visual tokens from .inspiration; semantics stay independent of accent. */
  --glutea-accent: #12a37e;
  --glutea-accent-secondary: #6f7cf5;
  --glutea-bg-secondary: #ecebe6;
  --glutea-surface-raised: rgba(255,255,255,.95);
  --glutea-muted: #6f6e68;
  --glutea-faint: #a3a29c;
  --glutea-line: rgba(21,20,15,.08);
  --glutea-line-strong: rgba(21,20,15,.14);
  --glutea-open: #1a9e5c;
  --glutea-closed: #8250df;
  --glutea-merged: #8250df;
  --glutea-draft: #6f6e68;
  --glutea-add: #15a06b;
  --glutea-delete: #e5484d;
  --glutea-label-lightness: .93;
  --glutea-label-chroma: .07;
  --glutea-label-scope-lightness: .86;
  --glutea-label-scope-chroma: .11;
  --glutea-label-ink-lightness: .40;
  --glutea-label-ink-chroma: .14;

  /* Type. Self-hosted families named first; the system stack behind them is
     Gitea's own, so an install without the font files degrades instead of
     breaking. Gitea appends var(--fonts-emoji) in --fonts-regular, so the
     emoji chain is preserved by not restating it here. */
  --fonts-proportional: Figtree, -apple-system, "Segoe UI", system-ui, Roboto, "Helvetica Neue", Arial;
  --fonts-monospace: "JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace, var(--fonts-emoji);

  /* Brand. Ramp generated with Gitea's own algorithm (HSL lightness scaled by
     1-f toward black and l+(1-l)f toward white, f = .1 .2 .3 .4 .6 .8 .94),
     verified to reproduce upstream's #4183c4 ramp exactly. The base is the
     handoff teal itself: mock fidelity was chosen over AA in the text roles
     this variable also lands in (2.93:1 as link text on the canvas). */
  --color-primary: #12a37e;
  --color-primary-contrast: #ffffff;
  --color-primary-dark-1: #109371;
  --color-primary-dark-2: #0e8265;
  --color-primary-dark-3: #0d7258;
  --color-primary-dark-4: #0b624c;
  --color-primary-dark-5: #074132;
  --color-primary-dark-6: #042119;
  --color-primary-dark-7: #010a08;
  --color-primary-light-1: #15c195;
  --color-primary-light-2: #19deac;
  --color-primary-light-3: #30e8b9;
  --color-primary-light-4: #4debc3;
  --color-primary-light-5: #88f2d7;
  --color-primary-light-6: #c4f8eb;
  --color-primary-light-7: #edfdf9;
  --color-primary-alpha-10: #12a37e19;
  --color-primary-alpha-20: #12a37e33;
  --color-primary-alpha-30: #12a37e4b;
  --color-primary-alpha-40: #12a37e66;
  --color-primary-alpha-50: #12a37e80;
  --color-primary-alpha-60: #12a37e99;
  --color-primary-alpha-70: #12a37eb3;
  --color-primary-alpha-80: #12a37ecc;
  --color-primary-alpha-90: #12a37ee1;

  /* The brand teal at full strength, for the places that are fill-only.
     --color-accent is Gitea's "decorative accent" and --color-small-accent its
     tint; neither carries body text. */
  --color-accent: #12a37e;
  --color-small-accent: #d7f3ea;

  /* Neutral ramp, rebuilt on the handoff's warm grey rather than Gitea's blue
     grey. --color-secondary is the border/edge colour across the product.
     The -alpha- steps are --color-secondary itself plus an alpha suffix, which
     is upstream's own rule and not a detail to improvise on: Gitea's JS reads
     --color-secondary-alpha-60 for the empty cells of the dashboard heatmap
     (its colour map is {border: --color-secondary-alpha-60, commits:
     --color-primary-alpha-60, ...}), so basing these on the text colour paints
     370 near-black squares across the dashboard. */
  --color-secondary: #dcdad2;
  --color-secondary-dark-1: #d0cec5;
  --color-secondary-dark-2: #c3c0b6;
  --color-secondary-dark-3: #a9a69b;
  --color-secondary-dark-4: #918e83;
  --color-secondary-dark-5: #7e7b71;
  --color-secondary-dark-6: #6f6c63;
  --color-secondary-dark-7: #605d55;
  --color-secondary-dark-8: #514f48;
  --color-secondary-dark-9: #43413b;
  --color-secondary-dark-10: #35332e;
  --color-secondary-dark-11: #272521;
  --color-secondary-dark-12: #1a1815;
  --color-secondary-dark-13: #15140f;
  --color-secondary-light-1: #e7e5de;
  --color-secondary-light-2: #eeece6;
  --color-secondary-light-3: #f2f0ea;
  --color-secondary-light-4: #f8f7f3;
  --color-secondary-alpha-10: #dcdad219;
  --color-secondary-alpha-20: #dcdad233;
  --color-secondary-alpha-30: #dcdad24b;
  --color-secondary-alpha-40: #dcdad266;
  --color-secondary-alpha-50: #dcdad280;
  --color-secondary-alpha-60: #dcdad299;
  --color-secondary-alpha-70: #dcdad2b3;
  --color-secondary-alpha-80: #dcdad2cc;
  --color-secondary-alpha-90: #dcdad2e1;

  /* Surfaces. Flat warm canvas; boxes sit a step lighter than the page so the
     card reads as a surface without a heavy border. The handoff's translucent
     --surface is expressed here as an opaque value because Gitea paints these
     on top of each other and stacked alpha compounds into mud; the glass
     (blur + translucency) belongs on the cards the islands draw. */
  --color-body: #f6f5f1;
  --color-box-header: #f1efe9;
  --color-box-body: #fffefb;
  --color-box-body-highlight: #f3f1ea;
  --color-card: #fffefb;
  --color-menu: #fffefb;
  --color-secondary-bg: #eeece6;
  --color-nav-bg: #f6f5f1;
  --color-nav-hover-bg: #eeece6;
  --color-secondary-nav-bg: #f2f0ea;
  --color-input-background: #fffefb;
  --color-input-border: #8e8b7c;
  --color-input-toggle-background: #8e8b7c;
  --color-button: #fffefb;
  --color-code-bg: #fbfaf7;
  --color-console-bg: #fbfaf7;
  --color-console-fg: #15140f;
  --color-console-border: #dcdad2;
  --color-timeline: #dcdad2;
  --color-expand-button: #e7e5de;
  --color-project-column-bg: #f2f0ea;

  /* Text. --color-text-light-3 also feeds --color-placeholder-text, so it is
     the handoff's faint darkened to 4.26:1 rather than #a3a29c (2.35:1). */
  --color-text-dark: #000000;
  --color-text: #15140f;
  --color-text-light: #3a3931;
  --color-text-light-1: #55544c;
  --color-text-light-2: #66655f;
  --color-text-light-3: #6b6a5f;
  /* Upstream sets --color-input-text to --color-text-dark, which is pure
     black here and belongs to Gitea's scale rather than ours. Left unmapped,
     Gitea's own `input:not([type=checkbox],[type=radio])` rule (0,1,1) beats
     a component's `.input` class (0,1,0) and every text field renders at
     #000000 instead of --color-text - visible on first paint and replaced by
     the token only on an unrelated re-render, so a screenshot taken after
     interacting hides it. Mapped here rather than in TextField so every
     later form screen inherits the fix. */
  --color-input-text: var(--color-text);

  /* Edges and washes. Gitea layers these over surfaces, so they stay alpha. */
  --color-light: #15140f06;
  --color-light-border: #15140f14;
  --color-hover: #7f7f7f0d;
  --color-hover-opaque: #f1efe9;
  --color-active: #15140f14;
  --color-shadow: #15140f1f;
  --color-shadow-opaque: #dcdad2;
  --color-reaction-bg: #15140f0a;
  --color-markup-table-row: #15140f08;
  --color-markup-code-block: #15140f0d;
  --color-markup-code-inline: #15140f12;
  --color-label-bg: #15140f14;
  --color-label-hover-bg: #15140f26;
  --color-label-active-bg: #15140f3d;

  /* Semantic state colours. Fixed by the handoff and never derived from the
     accent. Each base IS the handoff value now, in every role Gitea puts it in:
     the solid state badge, the basic label, the diff stat count, .text.green.
     The -light and -dark steps come from Gitea's own ramp (f .25 toward white,
     f .1/.2 toward black), so hover states stay a step off the handoff hue.
     White text on the green and red fills is 3.45:1 and 3.91:1, below AA. */
  --color-green: #1a9e5c;
  --color-green-light: #2ddc85;
  --color-green-dark-1: #178e53;
  --color-green-dark-2: #157e4a;
  --color-red: #e5484d;
  --color-red-light: #eb767a;
  --color-red-dark-1: #e12e33;
  --color-red-dark-2: #d31e24;
  --color-purple: #8250df;
  --color-purple-light: #a17ce7;
  --color-purple-dark-1: #7036da;
  --color-purple-dark-2: #6025cd;
  --color-violet: #8250df;
  --color-violet-light: #a17ce7;

  /* Badges keep the vivid handoff hue: they are a tint behind their own text. */
  --color-green-badge: #1a9e5c;
  --color-green-badge-bg: #1a9e5c1a;
  --color-green-badge-hover-bg: #1a9e5c4d;
  --color-red-badge: #e5484d;
  --color-red-badge-bg: #e5484d1a;
  --color-red-badge-hover-bg: #e5484d4d;

  /* Status blocks: border, background and text as a set. */
  --color-success-border: #1a9e5c66;
  --color-success-bg: #e4f6ec;
  --color-success-text: #136b3e;
  --color-error-border: #e5484d66;
  --color-error-bg: #fdeceb;
  --color-error-bg-hover: #fbdedd;
  --color-error-bg-active: #f8cfce;
  --color-error-text: #b8272c;
  --color-warning-border: #d4a72c66;
  --color-warning-bg: #fdf5e2;
  --color-warning-text: #8a6300;
  --color-info-border: #12a37e66;
  --color-info-bg: #e6f5f1;
  --color-info-text: #0b634d;
  --color-priority-border: #8250df66;
  --color-priority-bg: #f2ebfd;
  --color-priority-text: #7644d0;

  /* Diff: the handoff's add/del at tint strength for rows, AA text for the
     foreground labels. */
  --color-diff-added-fg: #136b3e;
  --color-diff-added-row-bg: #e9f8ef;
  --color-diff-added-row-border: #cdeeda;
  --color-diff-added-linenum-bg: #d7f0e1;
  --color-diff-added-word-bg: #a8e6c1;
  --color-diff-removed-fg: #b8272c;
  --color-diff-removed-row-bg: #fdeeed;
  --color-diff-removed-row-border: #f6d3d2;
  --color-diff-removed-linenum-bg: #f9dbda;
  --color-diff-removed-word-bg: #f5bcbb;
  --color-diff-inactive: #f1efe9;

  /* Shape. Gitea's two radii keep their own jobs and neither carries the card.
     --border-radius is inputs and chips; --border-radius-medium is, in 1.27.3,
     used by exactly TWO rules in Gitea's base stylesheet - `.ui .field
     .dropzone` and `.issue-state-label` - measured by grepping the served
     /assets/css/index.*.css. Pushing it to the handoff's 18px would therefore
     not round a single card; it would round the issue state pill into the
     lozenge the line below has always warned about. So the card radius is its
     own token, declared with the other card properties underneath. */
  --border-radius: 8px;
  --border-radius-medium: 12px;

  /* ---- The card surface -------------------------------------------------
     THESE FOUR ARE NEW NAMES, and that is a deliberate exception to the
     no-new-vocabulary rule at the top of this file, taken because no Gitea
     variable can carry them:

       - Gitea has no variable for a radius that only cards use (see above).
       - Gitea has no variable for a backdrop-filter of any kind.
       - --color-box-body must stay OPAQUE. Gitea paints boxes on top of each
         other (a box body inside a box inside a segment), and stacked alpha
         compounds into mud on its untouched pages. The glass is only correct
         where a Glutea island controls the whole stack, so it is a second
         value rather than a change to the first.
       - --color-shadow is a single COLOUR that Gitea composes into its own
         shadows; the handoff's shadow is two layers with different colours,
         offsets and spreads, which a colour cannot express.

     The handoff's own numbers, verbatim: radius 18px, --surface
     rgba(255,255,255,.72), blur(16px), --shadow 0 1px 2px rgba(20,19,15,.04),
     0 12px 32px -12px rgba(20,19,15,.12). Measured off the interactive mock
     (.original-mocks/Gitea Theme.dc.html) as well as read from the handoff.

     Contrast, computed over the COMPOSITED result rather than assumed. The
     card is translucent, so the worst background any text sits on is the card
     over a dot-grid pixel, not the card over the flat canvas:
       --color-text        #15140f  17.23:1
       --color-text-light-1 #55544c  7.11:1
       --color-text-light-2 #66655f  5.46:1
       --color-text-light-3 #6b6a5f  5.09:1
       --color-primary      #12a37e  3.00:1
     The text rows clear 4.5:1, so translucency costs nothing there; the
     accent row is the deliberate handoff trade described at the top. */
  --glutea-card-radius: 18px;
  --glutea-card-bg: rgba(255, 255, 255, 0.72);
  --glutea-card-blur: blur(16px);
  --glutea-card-shadow: 0 1px 2px rgba(20, 19, 15, 0.04), 0 12px 32px -12px rgba(20, 19, 15, 0.12);

  /* ---- The control radius -----------------------------------------------
     A FIFTH new name, for the same reason as the four above: no Gitea variable
     can carry it.

     --border-radius is 8px and is Gitea's INPUT and chip radius, applied by its
     own base stylesheet to inputs, dropdowns and menus across every untouched
     page. --border-radius-medium is 12px and is read by exactly two upstream
     rules in 1.27.3, one of which is `.issue-state-label` - pushing a BUTTON
     radius through it would round the issue state pill into a lozenge, which is
     the same trap the card radius had to be given its own token to avoid.

     12px is the handoff's button figure, not ours. Its control vocabulary sits
     at 11-13px (design-craft §1, "Buttons 38-44px tall, radius 11-13px"), and
     the interactive mock puts 32 elements at 11px and 31 at 12px against 40 at
     8px for things that are not controls - so 8 was Gitea's number surviving in
     a Glutea component, and the mid-grey 1px edge on an 8px near-white
     rectangle read as a stock outlined button. Measured on the original's
     secondary control: border-radius 12px, background rgba(255,255,255,.72).

     Used by Button and by the screens' button-shaped links, and deliberately
     NOT by TextField, Pagination or FormMessage, which are the input/chip
     family --border-radius already answers for. */
  --glutea-control-radius: 12px;

  /* The page's dot grid. A flat canvas with a faint 28px grid fading out over
     the top 60%, per the handoff - and the reason the glass above is visible
     at all: a blurred translucent card over a FLAT colour composites to
     exactly the flat colour, so without this the whole surface change would
     be invisible. Kept as values because the screen that paints it should not
     be choosing the page's texture. */
  --glutea-dot-color: rgba(21, 20, 15, 0.08);
  --glutea-dot-size: 28px;
}

/* ==========================================================================
   RULES - selector overrides, not values. Read the header note first.
   Everything above assigns to a variable Gitea defines. Everything below
   overrides one of Gitea's own declarations, so it is pinned to upstream
   markup or upstream CSS and is re-checked on every Gitea upgrade.
   Each rule states why a value could not do the job, and what would let us
   delete it.
   ========================================================================== */

/* RULE 1 - A closed ISSUE is purple; a closed PULL REQUEST stays red.
 *
 * Why not a value: the handoff separates the two states, Gitea does not.
 * upstream/templates/repo/issue/view_title.tmpl:45 emits ONE line for both:
 *   <div class="ui red label issue-state-label">
 *     {{svg (Iif .Issue.IsPull "octicon-git-pull-request-closed" "octicon-issue-closed")}}
 * The class list is byte-for-byte identical in the two cases, so no variable
 * can tell them apart. The only signal in the DOM is the child icon, which
 * modules/svg/svg.go:69 renders as `class="svg <icon-name>"`.
 *
 * Scope: `.issue-state-label` occurs in exactly one upstream template (the
 * issue/PR title), and `:has()` pins this to the closed-ISSUE icon, so a
 * closed PR keeps --color-red and an ordinary red label anywhere else is
 * untouched. Specificity must beat `.ui.ui.ui.red.label` (0,5,0); the
 * selector below is (0,6,0) and needs no !important.
 *
 * Delete when: upstream gives the two states distinct classes or its own
 * colours, or the issue detail screen becomes a Glutea island that draws its
 * own state pill (then this rule dies with the template).
 */
.ui.ui.ui.red.label.issue-state-label:has(> .octicon-issue-closed) {
  background: var(--color-purple);
  border-color: var(--color-purple);
  color: var(--color-white);
}

/* RULE 2 - Solid state labels get ink chosen for their own fill.
 *
 * Why not a value: upstream/web_src/css/modules/label.css:110-210 pairs each
 * solid fill with a HARDCODED `color: var(--color-white)`
 * (`.ui.ui.ui.<hue>.label { background: var(--color-<hue>); color:
 * var(--color-white) }`). The same --color-<hue> variable is also page text
 * elsewhere (.tw-text-red, diff stat counts, basic labels), so the two uses
 * pull in opposite directions and no single hue-preserving value satisfies
 * both. Only a rule can set the label's text colour without moving the
 * variable that body text depends on.
 *
 * In THIS scheme green/red/purple carry the handoff values, so white on them
 * is 3.45 / 3.91 / 5.05 - a deliberate trade described at the top of the file,
 * not something to repair one label at a time. Orange and yellow are light
 * fills carried over from stock Gitea and fail badly with white - 2.94 and
 * 1.70, the worst pairs in the light scheme - so they take dark ink instead:
 * 6.28 and 10.87 (hover fills 5.40 and 8.99). Stock Gitea fails these two
 * identically, so this rule fixes an upstream defect rather than one of ours.
 *
 * Delete when: upstream stops hardcoding --color-white on solid labels, or
 * derives label ink from the fill's lightness itself.
 */
.ui.ui.ui.orange.label,
.ui.ui.ui.yellow.label,
a.ui.ui.ui.orange.label:hover,
a.ui.ui.ui.yellow.label:hover {
  color: var(--color-text);
}

/* RULE 3 - The page's dot grid, on Glutea screens only.
 *
 * The handoff draws a faint 28px lattice fading out over the top of the page.
 * It is not decoration: it is what makes a translucent card read as GLASS.
 * A blurred surface over a flat colour composites to exactly that flat colour,
 * so the grid and Card's backdrop-filter are one change in two files — remove
 * either and the other stops being visible.
 *
 * WHY HERE AND NOT IN EACH SCREEN. It was in each screen, and that was the
 * defect: the sketch gave the grid to Dashboard and to GiteaChrome, and
 * GiteaChrome is the MOCK's chrome and never ships. So the mocks had the
 * texture and the shipped home-anon and signin did not — measured on the live
 * instance at :3201, where the token resolved but no element painted a
 * radial-gradient. One rule on `.glutea-screen`, the class all three shims
 * already set, is a place that cannot drift per screen.
 *
 * Scoped to `.glutea-screen` rather than `body` so Gitea's own untouched pages
 * stay exactly as they are; that is the same containment the theme's other
 * rules keep.
 *
 * The mask is the handoff's: half strength at the top, gone by 60% down. It is
 * also load-bearing for contrast — the dots darken the ground a control's
 * border is measured against, which is why Button and Pagination sit at
 * --color-secondary-dark-5 rather than dark-4. See the comment in either.
 *
 * Behind the content and never clickable.
 *
 * Delete when: the handoff drops the texture, or a screen needs its own.
 */
.glutea-screen {
  position: relative;
}

.glutea-screen::before {
  content: '';
  /* FIXED TO THE VIEWPORT, NOT TO THE DOCUMENT, and that is the whole point of
     the layer's geometry rather than a detail of it.

     The handoff draws the texture as `position:fixed; inset:0` over a
     `pointer-events:none` viewport sheet (.original-mocks/Gitea Theme.dc.html,
     the block commented `<!-- atmosphere -->`), so the fade is measured down
     the VIEWPORT and does not move when the page scrolls.

     This was `position: absolute; inset: 0` on .glutea-screen, which made the
     mask's 60% mean 60% of a document that grows with the feed. Measured at
     380px, darkest-pixel delta in the left gutter at y = 400/700/1000/1400/1800:
     dashboard 12/10/7/5/4 against sign-in 5/0 and the landing page 1/0. Three
     shipped screens therefore disagreed about the texture at the same pixel,
     and the SAME screen carried visibly more of it on a busy day than on a
     quiet one - a page whose ground changes with how much happened in it.

     Fixed makes the fade a property of the window, so every screen fades over
     the same number of pixels whatever its content is, which is what the
     handoff's sheet does. */
  position: fixed;
  inset: 0;
  /* BEHIND, not "at 0 with the content lifted to 1".
     The lifted-content form is what shipped in the sketch, and it broke Gitea's
     own context switcher: `user/dashboard/navbar` sits at z-index 1, so a rule
     giving every child of the screen z-index 1 tied with it, the later element
     won, and the dashboard's h1 covered the open dropdown's first link.
     Measured: elementFromPoint at the link's centre returned H1.title.
     A negative index puts the texture under its own parent's background layer
     and leaves every other element's stacking exactly as it was, so nothing on
     the page has to be lifted to clear it. */
  z-index: -1;
  pointer-events: none;
  background-image: radial-gradient(var(--glutea-dot-color, transparent) 1px, transparent 1px);
  background-size: var(--glutea-dot-size, 28px) var(--glutea-dot-size, 28px);
  mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), transparent 60%);
  -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), transparent 60%);
}

/* Shared presentation for Gitea 1.27.3. The selectors follow the native
   templates; forms, dropdowns, editors, navigation and permissions stay native.
   Palette values live in glutea-light/dark.css. */

/* Canvas, typography and spacing */
:root {
  --page-spacing: 24px;
  --page-spacing-no-h: 24px;
  --border-radius: 8px;
  --border-radius-medium: 12px;
  --color-secondary-nav-bg: transparent;
  --color-nav-bg: var(--glutea-card-bg);
  --color-nav-hover-bg: var(--color-hover);
  --color-box-header: var(--glutea-card-bg);
  --color-input-border: var(--glutea-line-strong);
  --color-light-border: var(--glutea-line);
}
body { isolation: isolate; -webkit-font-smoothing: antialiased; }
body::before {
  content: ''; position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background-image: radial-gradient(var(--glutea-line) 1px, transparent 1px);
  background-size: 28px 28px;
  mask-image: linear-gradient(to bottom, #0008, transparent 60%);
}
.glutea-screen::before { display: none; }
body, .ui.header, .ui.menu, .ui.button, .ui.form input, .ui.form textarea { font-family: var(--fonts-proportional); }
h1, h2, h3, h4, .ui.header { font-weight: 600; letter-spacing: -.025em; }
.page-content { padding-bottom: 56px; }
.page-content > .ui.container, .secondary-nav > .ui.container {
  width: min(100%, 1280px); max-width: 1280px; padding-left: 32px; padding-right: 32px;
}
.page-content > .ui.container.fluid { width: 100%; max-width: 1280px; }
.page-content > .secondary-nav { margin-bottom: 28px; background: transparent; }
.page-content:not(:has(> .secondary-nav)):not(.glutea-screen) { padding-top: 40px; }
.page-content .flex-container { gap: 28px; }
.flex-container-nav { flex-basis: 224px; }
.flex-container-main { min-width: 0; }
.glutea-page-heading { margin: 0 0 28px; font-size: clamp(30px, 4vw, 46px); line-height: 1.08; letter-spacing: -.035em; }
.glutea-page-heading + .glutea-page-description { margin-top: -14px; margin-bottom: 28px; color: var(--glutea-muted); font-size: 15.5px; }
.ui.divider, .ui.dividing.header { border-color: var(--glutea-line); }
::selection, relative-time::part(root)::selection { color: var(--color-text); background: color-mix(in srgb, var(--glutea-accent) 25%, var(--color-body)); text-shadow: none; }
:is(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
  outline: 2px solid var(--color-primary); outline-offset: 3px;
}
input[type='checkbox'], input[type='radio'], progress { accent-color: var(--glutea-accent); }
:is(h1, h2, h3, [id]) { scroll-margin-top: 84px; }

/* Platform and workspace navigation */
#navbar.glutea-platform {
  min-height: 64px; padding: 0 max(24px, calc((100vw - 1216px) / 2)); gap: 16px;
  /* Keep navigation above page menus, below Gitea's modal dimmer and toasts. */
  position: sticky; top: 0; z-index: calc(var(--z-index-modal) - 2);
  background: var(--glutea-card-bg); backdrop-filter: blur(18px) saturate(1.4);
  border-bottom: 1px solid var(--glutea-line); box-shadow: none;
}
#navbar .navbar-left, #navbar .navbar-right { gap: 10px; }
#navbar .item { border-radius: 10px; font-size: 14px; font-weight: 500; }
#navbar #navbar-logo { display: flex; gap: 10px; padding-left: 0; }
#navbar-logo img { width: 30px; height: 30px; border-radius: 9px; }
.glutea-site-name { font-size: 19px; font-weight: 700; letter-spacing: -.02em; color: var(--color-text); }
#navbar [data-ui='WorkspaceSwitcher'] { min-height: 40px; border: 1px solid var(--glutea-line); border-radius: 12px; background: var(--glutea-card-bg); }
#navbar [data-ui='WorkspaceSwitcher'] .workspace-home { height: 38px; padding-left: 6px; font-size: 14.5px; }
#navbar [data-ui='WorkspaceSwitcher'] .workspace-toggle { width: 36px; border-color: var(--glutea-line); }
#navbar .navbar-right > .item:has(.octicon-plus), #navbar .notification-button {
  min-height: 38px; border: 1px solid var(--glutea-line); background: var(--glutea-card-bg); border-radius: 12px;
}
#navbar .navbar-avatar > img { width: 38px; height: 38px; border-radius: 12px; }
.glutea-context-nav { background: var(--glutea-bg-secondary); border-bottom: 1px solid var(--glutea-line); }
.glutea-context-nav .ui.secondary.menu { min-height: 54px; max-width: 1280px; padding: 8px 32px; }
.glutea-context-tabs > .item { border-radius: 10px; font-size: 14.5px; padding: 9px 14px; }
.glutea-context-tabs > .active.item { color: var(--color-text); background: var(--color-active); }
body .ui.dropdown .menu, body .ui.menu .dropdown.item .menu, body .tippy-box:not([data-theme~='tooltip']) {
  border: 1px solid var(--glutea-line-strong); border-radius: 14px;
  background: var(--glutea-surface-raised); box-shadow: var(--glutea-card-shadow); backdrop-filter: blur(20px);
}
/* Short labels need a compact bubble; dropdown surfaces make their corners
   collide with the native arrow when Popper shifts them near a screen edge. */
body .tippy-box[data-theme~='tooltip'] { border: 0; border-radius: 6px; font-family: var(--fonts-proportional); font-size: 12px; line-height: 18px; box-shadow: 0 2px 6px var(--color-shadow); }
body .tippy-box[data-theme~='tooltip'] > .tippy-content { padding: 6px 10px; overflow-wrap: anywhere; }
body .ui.dropdown .menu { padding: 6px; }
body .ui.dropdown .menu > .item { border-radius: 8px; padding: 10px 12px !important; font-size: 14px; }
body .ui.dropdown .menu > .item:hover { background: var(--color-hover); }
body .ui.dropdown .menu > .header { text-transform: none; letter-spacing: 0; color: var(--glutea-muted); }
body .ui.dropdown .menu > .divider { margin: 6px -6px; border-color: var(--glutea-line); }

/* Buttons and forms: faint edges, solid accent, no decorative button shadows. */
body .ui.button {
  min-height: 38px; padding: 10px 15px; border-radius: 12px; font-size: 14px; font-weight: 500;
  background: var(--glutea-card-bg); border: 1px solid var(--glutea-line); color: var(--color-text);
  box-shadow: none; transition: background-color .15s, border-color .15s;
}
body .ui.basic.button { background: var(--glutea-card-bg); border-color: var(--glutea-line); box-shadow: none; }
body .ui.button:hover, body .ui.basic.button:hover { background: var(--color-hover); border-color: var(--glutea-line-strong); box-shadow: none; }
body .ui.primary.button, body .ui.primary.buttons .button {
  background: var(--glutea-accent); border-color: transparent; color: #fff; box-shadow: none;
}
body .ui.primary.button:hover, body .ui.primary.buttons .button:hover { background: color-mix(in srgb, var(--glutea-accent), #000 10%); }
body .ui.red.button, body .ui.negative.button { color: var(--color-red); background: var(--color-red-badge-bg); border-color: var(--color-red-badge-bg); }
body .ui.button:is(.red, .negative):not(.basic):is(:hover, :focus-visible, :active, .active) {
  color: #fff; background: var(--color-red-dark-2); border-color: var(--color-red-dark-2);
}
body .ui.green.button, body .ui.positive.button { background: var(--glutea-accent); color: #fff; border-color: transparent; }
body .ui.icon.button { padding: 10px; }
body .ui.mini.button, body .ui.tiny.button { min-height: 32px; padding: 7px 10px; font-size: 12px; border-radius: 9px; }
body .ui.labeled.button { border: 0; padding: 0; background: transparent; }
body .ui.labeled.button > .button { border-radius: 12px 0 0 12px; }
body .ui.labeled.button > .label { border: 1px solid var(--glutea-line); border-left: 0; border-radius: 0 12px 12px 0; background: var(--glutea-card-bg); font: 12px var(--fonts-monospace); padding: 0 10px; }
body .ui.buttons:not(.vertical) > .button { border-radius: 0; }
body .ui.buttons:not(.vertical) > .button:first-child { border-radius: 12px 0 0 12px; }
body .ui.buttons:not(.vertical) > .button:last-child { border-radius: 0 12px 12px 0; }
body .ui.form :is(input:not([type='checkbox'], [type='radio'], [type='hidden']), textarea), body .ui.input > input {
  border-radius: 11px; background: var(--glutea-card-bg); border-color: var(--glutea-line-strong); font-size: 14px; padding: 10px 13px;
}
body .ui.input > input { min-height: 38px; }
body .ui.action.input > input { border-radius: 11px 0 0 11px; }
body .ui.action.input > .button:last-child { border-radius: 0 11px 11px 0; }
body .ui.form textarea { line-height: 1.65; }
body .ui.form .field > label { font-weight: 600; margin-bottom: 9px; }
body .ui.form .field { margin-bottom: 22px; }
body .ui.form .field .help { color: var(--glutea-muted); margin-top: 8px; line-height: 1.6; }
body .ui.form input:focus, body .ui.form textarea:focus, body .ui.input input:focus { border-color: var(--color-primary); background: var(--glutea-surface-raised); }
body .ui.selection.dropdown { min-height: 40px; border-color: var(--glutea-line-strong); border-radius: 11px; background: var(--glutea-card-bg); }
body .ui.label:not(.issue-state-label, .scope-parent, .scope-left, .scope-right) { border-radius: 999px; font-weight: 500; }
body .ui.basic.label:not(.issue-state-label) { border-color: var(--glutea-line-strong); }
body .ui.menu .item > .label { font: 11.5px var(--fonts-monospace); padding: 2px 6px; min-width: 20px; background: var(--color-active); }
kbd, .sha, .commit-id, .branch, .branches .branch { font-family: var(--fonts-monospace); font-size: 12px; border-radius: 6px; }
kbd { background: var(--glutea-card-bg); border: 1px solid var(--glutea-line-strong); box-shadow: none; }

/* Cards and native attached header/body groups */
body .ui.segment, body .ui.segments, body .ui.card, body .ui.cards > .card,
.repo-file-box, .diff-file-box, .issue-card, #notification_table, .glutea-list-card {
  border: 1px solid var(--glutea-line); border-radius: 18px; background: var(--glutea-card-bg);
  backdrop-filter: blur(16px); box-shadow: var(--glutea-card-shadow);
}
body .ui.segments > .segment { box-shadow: none; border-radius: 0; background: transparent; }
body .ui.segments > .segment:first-child { border-radius: 18px 18px 0 0; }
body .ui.segments > .segment:last-child { border-radius: 0 0 18px 18px; }
body .ui.ui.attached.header { border-color: var(--glutea-line); border-radius: 18px 18px 0 0; padding: 16px 20px; background: var(--glutea-card-bg); font-size: 15px; }
body .ui.ui.attached.segment { border-color: var(--glutea-line); border-radius: 0; box-shadow: none; }
body .ui.bottom.attached.segment, body .ui.ui.attached.segment:last-child { border-radius: 0 0 18px 18px; }
body .ui.ui.attached.segment:first-child { border-radius: 18px; }
/* Backdrop filters make attached panels separate stacking contexts. Keep
   native team search suggestions above the following member/repository list. */
.organization.teams .ui.attached.segment:has(.ui.search) { z-index: 1; }
body .ui.table { border-color: var(--glutea-line); border-radius: 14px; background: var(--glutea-card-bg); }
body .ui.table > thead > tr > th { background: var(--glutea-card-bg); border-color: var(--glutea-line); padding: 14px 16px; font-weight: 600; }
body .ui.table > tbody > tr > td { padding: 13px 16px; border-color: var(--glutea-line); }
body .ui.table tr:hover, .flex-divided-list > .item:hover { background: var(--color-hover); }
.flex-divided-list > .item { border-color: var(--glutea-line); }
body .ui.message { border-radius: 14px; box-shadow: none; padding: 18px 22px; }
body .ui.modal { border-radius: 18px; overflow: hidden; border: 1px solid var(--glutea-line-strong); background: var(--glutea-surface-raised); }
body .ui.modal > :is(.header, .content, .actions) { background: var(--glutea-surface-raised); border-color: var(--glutea-line); padding: 22px; }
body .ui.pagination.menu { border: 0; box-shadow: none; background: transparent; gap: 4px; }
body .ui.pagination.menu > .item { min-width: 34px; min-height: 34px; border: 1px solid var(--glutea-line); border-radius: 9px; justify-content: center; background: var(--glutea-card-bg); font-size: 13px; }
body .ui.pagination.menu > .active.item { background: var(--color-text); color: var(--color-body); }

/* Repository identity and compact tabs */
.page-content > .glutea-repo-header.secondary-nav { border: 0; padding-top: 40px; margin-bottom: 28px; }
.glutea-breadcrumb { display: flex; align-items: center; gap: 10px; font-size: 15px; color: var(--glutea-muted); margin-bottom: 24px; }
.glutea-breadcrumb > a:last-child { color: var(--color-text); font-weight: 600; }
.glutea-repo-header .repo-header { min-height: 40px; margin-bottom: 28px; gap: 24px; align-items: flex-end; }
.glutea-repo-header .glutea-repo-identity > .flex-text-block { gap: 12px; min-width: 0; }
.glutea-repo-header .glutea-repo-identity > .flex-text-block > :is(img, .repo-icon) { display: none; }
.glutea-repo-header .glutea-repo-identity.has-avatar > .flex-text-block > img.avatar {
  display: inline-block; flex: none; width: clamp(48px, 6vw, 64px); height: clamp(48px, 6vw, 64px);
  border-radius: 30%; object-fit: cover;
}
.glutea-repo-name { min-width: 0; margin: 0; font-size: 40px; line-height: 1; letter-spacing: -.035em; overflow-wrap: anywhere; }
.glutea-repo-name a { color: var(--color-text); }
.glutea-repo-header .repo-header .ui.basic.label { font-size: 11px; color: var(--glutea-muted); padding: 4px 9px; white-space: nowrap; }
.glutea-repo-identity { min-width: 0; }
.glutea-repo-description { margin: 12px 0 0; color: var(--glutea-muted); font-size: 16px; max-width: 560px; line-height: 1.3; }
.glutea-repo-header .secondary-info { color: var(--glutea-muted); margin: -8px 0 20px; }
.glutea-repo-header .ui.secondary.pointing.menu { border-bottom: 1px solid var(--glutea-line); gap: 2px; }
.glutea-repo-header .overflow-menu-items { flex: 1; gap: 0; }
.glutea-repo-header .ui.secondary.pointing.menu .item { padding: 9px 10px 11px; font-size: 13.5px; font-weight: 500; gap: 6px; border-bottom-width: 2px; color: var(--glutea-muted); }
.glutea-repo-header .ui.secondary.pointing.menu .active.item { border-color: var(--glutea-accent); color: var(--color-text); }
.glutea-repo-header .ui.secondary.pointing.menu .item > .svg { width: 14px; height: 14px; }
.glutea-repo-header .overflow-menu-items > .item[href$='/settings'] { margin-left: auto; }
.glutea-repo-header .ui.secondary.pointing.menu .item:hover { color: var(--color-text); background: var(--color-hover); }
.glutea-repo-header .ui.secondary.pointing.menu .item .ui.label { background: var(--color-active); color: var(--glutea-muted); }

/* Repository home, folders, source, clone panel */
.repository .repo-grid-filelist-sidebar { grid-template-columns: minmax(0, 1fr) 320px; gap: 28px; }
.repository .repo-button-row { gap: 12px; margin-bottom: 14px; }
.repository .repo-button-row-left, .repository .repo-button-row-right { gap: 10px; }
.repository .repository-summary.ui.segments { border: 0; box-shadow: none; background: transparent; backdrop-filter: none; margin-bottom: 14px; }
.repository-summary .repository-menu.ui.segment { display: flex; justify-content: flex-start; gap: 10px; padding: 0; }
.repository-summary .repository-menu > .item { flex: none; border: 1px solid var(--glutea-line); border-radius: 11px; padding: 9px 13px; background: var(--glutea-card-bg); font-size: 13px; }
.repository .glutea-repo-stat { font-size: 13px; display: inline-flex; gap: 6px; align-items: center; white-space: nowrap; }
.repository .repo-file-box { overflow: hidden; }
.repository .repo-file-box .repo-file-line { min-height: 44px; border-color: var(--glutea-line); background: transparent; }
.repository .repo-file-box .repo-file-line:hover { background: var(--color-hover); }
.repository #repo-files-table .repo-file-cell { padding: 12px 16px; }
.repository #repo-files-table .repo-file-cell.name { gap: 12px; }
.repository .repo-file-cell .entry-name { font: 13px var(--fonts-monospace); color: var(--color-text); }
.repository .repo-file-cell.message, .repository .repo-file-cell.age { color: var(--glutea-muted); font-size: 13px; }
.repository .repo-file-cell.message a { color: var(--glutea-muted); }
.repository .repo-file-cell.age { color: var(--glutea-faint); }
.repository .repo-file-cell.name > .svg { color: var(--glutea-faint); width: 16px; height: 16px; }
.repository .repo-file-cell.name > .svg[class*='directory'] { color: var(--glutea-accent-secondary); }
.repository .repo-file-box #repo-files-table .repo-file-line:first-child { border-top: 0; }
.repository #repo-file-commit-box { border: 0; border-bottom: 1px solid var(--glutea-line); background: var(--glutea-card-bg); border-radius: 18px 18px 0 0; padding: 14px 16px; font-size: 13px; }
.repository .repo-file-box + .file-content { margin-top: 24px; }
.repository .file-header { padding: 16px 20px; background: transparent; border-color: var(--glutea-line); }
.repository .file-header .file-info { font: 12px var(--fonts-monospace); color: var(--glutea-muted); }
.repository .file-view.markup { padding: 28px 32px; }
.markup { font-size: 15px; line-height: 1.75; }
.markup h1 { font-size: 32px; letter-spacing: -.03em; border: 0; }
.markup h2 { font-size: 24px; letter-spacing: -.025em; border: 0; }
.markup h3 { font-size: 19px; }
.markup pre, .markup .code-block { border: 1px solid var(--glutea-line); border-radius: 11px; background: var(--color-code-bg); }
.markup code, .markup pre { font-family: var(--fonts-monospace); font-size: 12px; }
.markup blockquote { border-left: 3px solid var(--glutea-accent); color: var(--glutea-muted); }
.repository .repo-home-sidebar-top, .repository .repo-home-sidebar-bottom { font-size: 14px; line-height: 1.6; }
.repository .repo-home-sidebar-top h4, .repository .repo-home-sidebar-bottom h4 { font-size: 14px; margin-top: 22px; margin-bottom: 14px; }
.repository .repo-home-sidebar-top .divider, .repository .repo-home-sidebar-bottom .divider { margin: 24px 0; }
.repository #repo-desc { line-height: 1.65; }
.repository .repo-topic, .repository #repo-topics .ui.label { padding: 5px 10px; font-size: 12px; background: color-mix(in srgb, var(--glutea-accent) 12%, transparent); color: var(--color-primary); }
.repository .language-stats { border-radius: 999px; overflow: hidden; height: 8px; }
.repository .repo-clone-panel .menu { min-width: 340px; padding: 14px; }
.repository .file-view.code-view { background: var(--color-code-bg); border-radius: 0 0 18px 18px; }
.code-view .lines-num { color: var(--glutea-faint); }
.code-view .lines-code { font: 12px/1.7 var(--fonts-monospace); }
.repository .file-tree { border-color: var(--glutea-line); background: transparent; }

/* Issues and pull requests: joined number/state pills and two-tone labels. */
.repository .list-header { margin-bottom: 20px; gap: 10px; }
.issue-list-toolbar { padding: 8px 16px; border: 1px solid var(--glutea-line); border-bottom: 0; border-radius: 18px 18px 0 0; background: var(--glutea-card-bg); }
.issue-list-toolbar .ui.secondary.menu .item { color: var(--glutea-muted); font-size: 12.5px; padding: 6px 8px; }
.issue-list-toolbar .ui.secondary.menu .active.item { color: var(--color-text); background: transparent; }
#issue-list { border: 1px solid var(--glutea-line); border-radius: 0 0 18px 18px; background: var(--glutea-card-bg); box-shadow: var(--glutea-card-shadow); backdrop-filter: blur(16px); }
#issue-list > .item { padding: 16px 20px; gap: 14px; }
#issue-list > .item:last-child { border-radius: 0 0 18px 18px; }
#issue-list .item-main { min-width: 0; }
#issue-list .item-header { margin-bottom: 7px; }
#issue-list .list-item-large-title { font-size: 15.5px; font-weight: 600; color: var(--color-text); line-height: 1.55; }
#issue-list .list-item-large-title:hover { color: var(--color-primary); }
#issue-list .item-body { font-size: 13px; color: var(--glutea-muted); gap: 8px; }
#issue-list .item-trailing { gap: 16px; padding-top: 3px; color: var(--glutea-muted); }
#issue-list .assignee img { width: 24px; height: 24px; border-radius: 8px; }
#issue-list .item-leading { padding-top: 1px; }
#issue-list .issue-checkbox { opacity: .65; margin-right: 12px; }
.glutea-list-pill { display: inline-flex; flex: none; align-items: stretch; height: 24px; border-radius: 999px; overflow: hidden; vertical-align: middle; white-space: nowrap; text-decoration: none; }
.glutea-list-pill .glutea-pill-number { background: var(--color-text); color: var(--color-body); font: 11.5px/24px var(--fonts-monospace); padding: 0 8px 0 10px; }
.glutea-list-pill .glutea-pill-state { display: inline-flex; align-items: center; padding: 0 10px 0 7px; color: #fff; background: var(--glutea-open); }
.glutea-list-pill .glutea-pill-state .svg { width: 13px; height: 13px; min-width: 13px; min-height: 13px; color: inherit !important; }
.glutea-list-pill[data-state='closed'] .glutea-pill-state, .glutea-list-pill[data-state='merged'] .glutea-pill-state { background: var(--glutea-closed); }
.glutea-list-pill[data-state='closed-pr'] .glutea-pill-state { background: var(--glutea-delete); }
.glutea-list-pill[data-state='draft'] .glutea-pill-state { background: var(--glutea-draft); }
.glutea-detail-pill { display: inline-flex; flex: none; border-radius: 999px; overflow: hidden; align-self: flex-start; }
.glutea-detail-pill > .glutea-pill-number { display: flex; align-items: center; padding: 0 12px 0 14px; color: var(--color-body); background: var(--color-text); font: 13px var(--fonts-monospace); }
/* Gitea marks the standalone badge's radius, padding and type !important.
   The joined badge needs square inner corners; its parent rounds the outside. */
body .glutea-detail-pill > .issue-state-label { border: 0; border-radius: 0 !important; margin: 0; min-height: 31px; height: 31px; padding: 7px 14px 7px 12px !important; font-size: 13.5px !important; font-weight: 600; line-height: 17px; gap: 8px; }
/* Gitea sizes octicons from their width/height attributes with a matching min-size. */
body .glutea-detail-pill > .issue-state-label > .svg { width: 14px; height: 14px; min-width: 14px; min-height: 14px; margin: 0; }
.issue-title:has(~ .issue-title-meta .glutea-detail-pill) h1 > .index { display: none; }
.glutea-label.ui.label, .glutea-label.ui.label > .ui.label {
  background: oklch(var(--glutea-label-lightness) var(--glutea-label-chroma) var(--glutea-label-hue, 170)) !important;
  color: oklch(var(--glutea-label-ink-lightness) var(--glutea-label-ink-chroma) var(--glutea-label-hue, 170)) !important;
  border: 0; box-shadow: none; font-size: 11.5px; line-height: 1.6; font-weight: 500;
}
.glutea-label.ui.label { border-radius: 999px; padding: 3px 9px; }
.glutea-label.ui.label.scope-parent { display: inline-flex; overflow: hidden; padding: 0; gap: 0; align-items: stretch; vertical-align: middle; }
.glutea-label.ui.label > .ui.label { padding: 3px 8px; margin: 0; border-radius: 0; }
.glutea-label.ui.label.scope-parent > .ui.label.scope-left { background: oklch(var(--glutea-label-scope-lightness) var(--glutea-label-scope-chroma) var(--glutea-label-hue, 170)) !important; }
.labels-list { display: inline-flex; flex-wrap: wrap; gap: 5px; align-items: center; vertical-align: middle; margin-left: 5px; }
.labels-list > .item { margin: 0; }
#issue-pins { gap: 16px; margin-bottom: 24px; }
#issue-pins .issue-card { padding: 18px; }

/* Conversation, timeline and editor */
.repository .issue-title-header { margin: 0 0 32px; padding-bottom: 0; }
.repository.view.issue .issue-title h1 { font-size: clamp(30px, 3.4vw, 44px); line-height: 1.05; letter-spacing: -.035em; font-weight: 600; margin: 0; }
.repository.view.issue .issue-title { gap: 24px; align-items: flex-start; margin-bottom: 18px; }
.repository .issue-title-buttons { flex: none; display: flex; gap: 8px; }
.repository .issue-title-meta { align-items: center; gap: 14px; color: var(--glutea-muted); font-size: 14px; line-height: 1.5; }
.repository .issue-title-meta > .tw-flex-1 { min-width: 0; margin-left: 0 !important; }
.repository .issue-title-meta .time-desc > a { font-weight: 600; }
.repository .issue-title-meta > .tw-flex-1 > a,
.repository .issue-title-meta .pull-desc > a { color: var(--color-text); font-weight: 600; }
.repository.view.issue .issue-title-meta .pull-desc code {
  font: 12.5px var(--fonts-monospace); padding: 2px 7px; border-radius: 6px;
  background: var(--glutea-line); color: var(--color-text); overflow-wrap: anywhere;
  box-decoration-break: clone; -webkit-box-decoration-break: clone;
}
.repository.view.issue .issue-title-meta .pull-desc code > a { color: inherit; }
.repository.view.issue .issue-title-meta .pull-desc > [data-clipboard-text] {
  display: inline-flex; vertical-align: middle; padding: 0; margin: 0 2px; color: var(--glutea-faint) !important;
}
.repository.view.issue .issue-title-meta .pull-desc > [data-clipboard-text]:hover { color: var(--color-text) !important; }
.repository.view.issue .issue-title-meta .pull-desc > [data-clipboard-text] > .svg { width: 13px; height: 13px; min-width: 13px; min-height: 13px; }
.repository .issue-content { display: grid; gap: 28px; grid-template-columns: minmax(0, 1fr) 320px; }
.repository .issue-content-left { min-width: 0; }
.repository.view.issue .comment-list { margin-right: 0; }
.repository.view.issue .comment-list .timeline-item { padding-bottom: 24px; }
.repository.view.issue .comment-list .timeline-item::before { background: var(--glutea-line-strong); width: 2px; left: 21px; }
.repository.view.issue .comment-list .timeline-avatar { width: 44px; height: 44px; }
.repository.view.issue .comment-list .timeline-avatar img { width: 44px; height: 44px; border-radius: 14px; }
.repository.view.issue .comment-list .timeline-item.comment > .content { margin-left: 62px; }
.repository.view.issue .comment-list .timeline-item.event > .content { padding-top: 8px; font-size: 13px; color: var(--glutea-muted); }
.repository.view.issue .comment-list .timeline-item .badge { border: 4px solid var(--color-body); background: var(--glutea-bg-secondary); color: var(--glutea-muted); width: 36px; height: 36px; left: 4px; }
.repository.view.issue .comment-list .comment .comment-container { border: 1px solid var(--glutea-line); border-radius: 18px; background: var(--color-box-body); box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
/* Keep comments flat, including nested review threads and post-submit anchors. */
.repository.view.issue .conversation-holder,
.repository.view.issue .conversation-holder .diff-file-box { background: var(--color-box-body); box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
.repository.view.issue .comment-container > .ui.segment,
.repository.view.issue .conversation-holder .ui.segment { box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
.repository.view.issue .comment:target .comment-container,
.repository.view.issue .code-comment:target { box-shadow: none !important; border-color: var(--glutea-line) !important; }
.repository.view.issue .comment-header { padding: 14px 20px; background: transparent; border-bottom: 1px solid var(--glutea-line); border-radius: 18px 18px 0 0; font-size: 13px; }
.repository.view.issue .comment-header::before, .repository.view.issue .comment-header::after { display: none; }
.repository.view.issue .comment-body.ui.segment { padding: 22px 24px; background: transparent; border: 0; border-radius: 0 0 18px 18px; }
.repository.view.issue .comment-body .markup { font-size: 15px; line-height: 1.75; }
.repository.view.issue .comment-body .markup h2 { margin: 24px 0 8px; padding-bottom: 8px; border-bottom: 1px solid var(--glutea-line); font-size: 20px; font-weight: 600; line-height: 1.25; letter-spacing: -.02em; }
.repository.view.issue .comment-body .markup > h2:first-child { margin-top: 0; }
.repository.view.issue .comment-body .markup h3 { margin-top: 20px; font-size: 17px; }
.repository.view.issue .comment-reactions { background: transparent; border-color: var(--glutea-line); padding: 8px 18px; }
.repository .issue-content-right { padding-left: 0; font-size: 14px; }
.repository .issue-content-right .ui.divider { margin: 22px 0; }
.repository .issue-content-right .ui.header { font-size: 13px; margin-bottom: 12px; }
.repository .issue-content-right .ui.list { margin: 10px 0; }
.repository .issue-content-right .select-label .ui.label { margin-bottom: 6px; }
/* Gitea's editor has an ID and a custom toolbar element, not matching classes. */
.repository.view.issue .comment-list .timeline-item.form > .content > .ui.segment {
  padding: 0; border: 1px solid var(--glutea-line); border-radius: 18px;
  background: var(--color-box-body); box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none;
}
.repository.view.issue .comment-list .form > .content > .avatar-content-left-arrow::before,
.repository.view.issue .comment-list .form > .content > .avatar-content-left-arrow::after { display: none; }
.repository:is(.view, .new).issue :is(#comment-form, #new-issue) > .field { margin: 0; }
.repository:is(.view, .new).issue :is(#comment-form, #new-issue) .combo-markdown-editor > .ui.top.tabular.menu {
  min-height: 44px; margin: 0; padding: 10px 12px 0; gap: 2px;
  border: 0; border-bottom: 1px solid var(--glutea-line); background: transparent;
}
.repository:is(.view, .new).issue :is(#comment-form, #new-issue) .combo-markdown-editor > .ui.top.tabular.menu > .item {
  min-height: 33px; margin: 0 0 -1px; padding: 8px 12px !important; border: 0; border-bottom: 2px solid transparent;
  border-radius: 0; background: transparent; color: var(--glutea-muted); font-size: 13px; line-height: 16px; font-weight: 500;
}
.repository:is(.view, .new).issue :is(#comment-form, #new-issue) .combo-markdown-editor > .ui.top.tabular.menu > .active.item {
  color: var(--color-text); border-bottom-color: var(--color-text); font-weight: 600; box-shadow: none;
}
.repository:is(.view, .new).issue :is(#comment-form, #new-issue) markdown-toolbar {
  flex-wrap: wrap; min-height: 51px; margin: 0; padding: 10px 12px; gap: 2px;
  border-bottom: 1px solid var(--glutea-line);
}
.repository:is(.view, .new).issue :is(#comment-form, #new-issue) .markdown-toolbar-group { gap: 2px; padding: 0 6px; margin: 0; }
.repository:is(.view, .new).issue :is(#comment-form, #new-issue) .markdown-toolbar-group:first-child { padding-left: 0; }
.repository:is(.view, .new).issue :is(#comment-form, #new-issue) .markdown-toolbar-group:last-child { margin-left: auto; padding-right: 0; }
.repository:is(.view, .new).issue :is(#comment-form, #new-issue) .markdown-toolbar-button {
  display: inline-flex; align-items: center; justify-content: center; flex: 0 0 30px;
  width: 30px; height: 30px; min-height: 30px; padding: 7px; border-radius: 8px; color: var(--glutea-muted);
}
.repository:is(.view, .new).issue :is(#comment-form, #new-issue) .markdown-toolbar-button:hover { color: var(--color-text); background: var(--color-hover); }
.repository:is(.view, .new).issue :is(#comment-form, #new-issue) .markdown-toolbar-button > .svg { width: 16px; height: 16px; padding: 0; }
.repository:is(.view, .new).issue :is(#comment-form, #new-issue) text-expander { display: block; margin: 14px 16px 0; }
/* Comment editors wrap long lines; only vertical scrolling is useful. Apply
   to replies and comment edits as well as the main conversation composer. */
.repository:is(.view, .new).issue .combo-markdown-editor textarea.markdown-text-editor {
  white-space: pre-wrap; overflow-wrap: anywhere; overflow-x: hidden; overflow-y: auto;
}
.repository:is(.view, .new).issue :is(#comment-form, #new-issue) .markdown-text-editor {
  --min-height-textarea: 120px;
  display: block; min-height: 120px; width: 100%; padding: 14px; border-radius: 12px;
  background: var(--color-box-body); box-shadow: none; font-size: 14px; line-height: 1.65; resize: vertical;
}
.repository:is(.view, .new).issue :is(#comment-form, #new-issue) [data-tab-panel='markdown-previewer'] { min-height: 120px; padding: 14px 16px; }
.repository:is(.view, .new).issue :is(#comment-form, #new-issue) .dropzone {
  min-height: 50px; margin: 10px 16px 0; padding: 12px 14px; border: 1px dashed var(--glutea-line-strong);
  border-radius: 12px; background: transparent; box-shadow: none; color: var(--glutea-muted); font-size: 13px;
}
.repository:is(.view, .new).issue :is(#comment-form, #new-issue) .dropzone .dz-message { margin: 0; padding: 0; }
.repository:is(.view, .new).issue :is(#comment-form, #new-issue) > .field.footer { padding: 14px 16px 16px; }
.repository:is(.view, .new).issue :is(#comment-form, #new-issue) > .field.footer > .flex-text-block { flex-wrap: wrap; gap: 8px; }
.repository:is(.view, .new).issue :is(#comment-form, #new-issue) > .field.footer .ui.button { min-height: 38px; padding: 9px 14px; border-radius: 11px; font-size: 13.5px; font-weight: 600; }
/* New issues share the native editor, but must fill the grid rather than
   retaining Gitea's fixed left/right column widths. */
.repository.new.issue #new-issue { grid-template-columns: minmax(0, 1fr) 260px; gap: 28px; align-items: start; }
.repository.new.issue .issue-content-left { width: auto; }
.repository.new.issue .ui.comments { margin: 0; }
.repository.new.issue .ui.comments .comment > .content {
  min-width: 0; flex: 1; padding: 0; border-radius: 14px;
  box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none;
}
.repository.new.issue .avatar-content-left-arrow::before,
.repository.new.issue .avatar-content-left-arrow::after { display: none; }
.repository.new.issue #new-issue .content > .field:first-child { margin: 0; padding: 16px; }
.repository.new.issue #new-issue .content > .field:has(> .combo-markdown-editor, > .dropzone) { margin: 0; }
.repository.new.issue #issue_title { min-height: 44px; border-radius: 10px; font-size: 16px; font-weight: 600; }
.repository.new.issue #new-issue .markdown-text-editor { --min-height-textarea: 240px; min-height: 240px; }
.repository.new.issue #new-issue [data-tab-panel='markdown-previewer'] { min-height: 300px; }
.repository.new.issue #new-issue .content > .flex-text-block { padding: 16px; }
.repository.new.issue #new-issue .content > .flex-text-block > .button { min-height: 40px; padding: 10px 16px; border-radius: 10px; font-size: 14px; }
.repository.new.issue .issue-content-right.ui.segment { margin: 0; }
@media (max-width: 1100px) {
  .repository.new.issue #new-issue { grid-template-columns: minmax(0, 1fr) 230px; gap: 22px; }
}
@media (max-width: 767.98px) {
  .repository.new.issue #new-issue { gap: 24px; }
  .repository.new.issue #new-issue .markdown-toolbar-button { width: 36px; height: 36px; flex-basis: 36px; }
  .repository.new.issue #new-issue .markdown-toolbar-group { padding: 0 4px; }
  .repository.new.issue #new-issue .content > .field:first-child { padding: 12px; }
  .repository.new.issue #new-issue text-expander { margin: 12px 12px 0; }
  .repository.new.issue #new-issue .dropzone { margin: 10px 12px 0; }
  .repository.new.issue #new-issue .content > .flex-text-block { padding: 12px; }
}
.repository .pull-request-tab.menu { border-color: var(--glutea-line); margin-bottom: 24px; }
.repository .pull-request-tab.menu .item { font-size: 13px; padding: 13px 16px; }
.repository .pull-request-tab.menu .active.item { border-color: var(--glutea-accent); background: transparent; }
.repository .merge-section { border: 2px solid var(--glutea-accent); border-radius: 18px; overflow: visible; background: var(--color-box-body); box-shadow: none; }
.repository .merge-section > .item:first-child { border-radius: 16px 16px 0 0; }
.repository .merge-section > .item:last-child { border-radius: 0 0 16px 16px; }
/* Native merge/update menus extend over later timeline cards. Those cards
   create stacking contexts through their glass surfaces. */
.repository .pull-merge-box:has(.ui.dropdown.active) { position: relative; z-index: 2; }
.repository.view.issue .pull-merge-box > .content > .ui.segment {
  border: 0; background: transparent; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none;
}
.repository.view.issue .pull-merge-box > .content > .avatar-content-left-arrow::before,
.repository.view.issue .pull-merge-box > .content > .avatar-content-left-arrow::after { display: none; }
.repository .merge-section > .item { padding: 16px 22px; font-size: 14px; line-height: 1.5; }
.repository .merge-section > .item:first-child { padding-top: 20px; padding-bottom: 20px; }
.repository .merge-section > .commit-status-toggle > div:first-child,
.repository .merge-section > .item h3 { font-size: 19px; font-weight: 600; letter-spacing: -.02em; }
.repository .merge-section .commit-status-list > .item { padding: 12px 22px; }
.repository .merge-section .commit-status-toggle > button,
.repository .merge-section > .item > details > summary { font-size: 13px; color: var(--glutea-muted); }
.repository #pull-request-merge-form .merge-button { border-radius: 12px; }
.repository #pull-request-merge-form .merge-button > .button { min-height: 42px; padding: 11px 18px; font-size: 14px; font-weight: 600; }
.repository #pull-request-merge-form .merge-button > .dropdown { padding: 11px 12px; }
.repository #pull-request-merge-form .merge-button > .dropdown > .svg { width: 15px; height: 15px; }
/* Keep native warnings, checks, update and command controls beneath the mock's
   title/action row. Expanded merge confirmation needs the entire card width. */
@media (min-width: 1200px) {
  .repository .merge-section:has(> .commit-status-toggle):has(#pull-request-merge-form .merge-button):not(:has(#pull-request-merge-form input)) { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
  .repository .merge-section > .item { grid-column: 1 / -1; }
  .repository .merge-section:has(> .commit-status-toggle):has(#pull-request-merge-form .merge-button):not(:has(#pull-request-merge-form input)) > .commit-status-toggle { grid-column: 1; grid-row: 1; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 2px; }
  .repository .merge-section:has(> .commit-status-toggle):has(#pull-request-merge-form .merge-button):not(:has(#pull-request-merge-form input)) > .item:has(> #pull-request-merge-form) { grid-column: 2; grid-row: 1; border-top: 0; display: flex; align-items: center; padding-left: 0; }
}

/* Commits and diff viewer */
.repository .commit-list, .repository #commits-table { border-color: var(--glutea-line); border-radius: 18px; overflow: hidden; }
.repository .commit-list .item, .repository #commits-table td { padding: 15px 18px; }
.repository .commit-header { background: var(--glutea-card-bg); border-color: var(--glutea-line); padding: 20px; }
.repository .diff-detail-box { padding: 14px 0; margin-bottom: 18px; gap: 16px; background: var(--color-body); }
.repository .diff-detail-stats { font-size: 13px; }
.repository .diff-file-box { margin-bottom: 22px; overflow: clip; }
.repository .diff-file-header { padding: 14px 18px; min-height: 54px; background: var(--glutea-surface-raised); border-bottom: 1px solid var(--glutea-line); }
.repository .diff-file-name { font-family: var(--fonts-monospace); font-size: 12px; }
.repository .diff-file-body { background: var(--color-code-bg); }
.repository .diff-file-body .lines-code { font-family: var(--fonts-monospace); font-size: 12px; line-height: 1.7; }
.repository .diff-file-body .lines-num { font-size: 11px; }
.repository .diff-file-body .tag-code, .repository .diff-file-body tr.tag-code td {
  background: color-mix(in srgb, var(--glutea-accent-secondary) 8%, var(--color-code-bg)); color: var(--glutea-accent-secondary);
}
.repository .diff-file-tree { border: 1px solid var(--glutea-line); border-radius: 14px; padding: 12px; background: var(--glutea-card-bg); }
.repository .diff-file-tree .item { padding: 6px; font: 12px var(--fonts-monospace); border-radius: 7px; }
.repository .diff-file-tree .active { background: var(--color-hover); }
.repository .diff-detail-actions progress { height: 4px; border-radius: 99px; }

/* Releases, tags, wiki, milestones, activity, Actions */
.repository #release-list { padding: 0; }
.repository #release-list > .release-entry { gap: 28px; padding: 0 0 28px; border: 0; }
.repository #release-list .release-entry > .meta { color: var(--glutea-muted); padding-top: 22px; font: 12px var(--fonts-monospace); }
.repository #release-list .detail { padding: 26px 30px; }
.repository #release-list .release-list-title { font-size: 28px; letter-spacing: -.025em; margin: 0; }
.repository #release-list .download { border-color: var(--glutea-line); padding-top: 18px; }
.repository .tag-list { border: 1px solid var(--glutea-line); border-radius: 18px; background: var(--glutea-card-bg); }
.repository .tag-list > .item { padding: 18px 22px; }
.repository.wiki .wiki-content-main { padding: 28px 34px; border: 1px solid var(--glutea-line); border-radius: 18px; background: var(--glutea-card-bg); box-shadow: var(--glutea-card-shadow); }
.repository.wiki .wiki-content-sidebar { padding: 18px; font-size: 13px; line-height: 1.9; border-color: var(--glutea-line); }
.repository.wiki .wiki-content-toc a { color: var(--glutea-muted); }
.repository.wiki .wiki-content-parts { margin-top: 24px; gap: 26px; }
.repository.wiki .wiki-content-footer { margin-top: 24px; padding: 18px 0; border-color: var(--glutea-line); color: var(--glutea-muted); }
.repository.milestones .milestone-list { border: 1px solid var(--glutea-line); border-radius: 18px; background: var(--glutea-card-bg); }
.repository.milestones .milestone-list > .item { padding: 22px; }
.repository.milestones .milestone-list h3 { font-size: 20px; }
.repository .activity-overview { border-radius: 18px; }
.repository .stats-table { border-radius: 18px; overflow: hidden; }
.repository .stats-table .num { font-weight: 600; letter-spacing: -.035em; }
.repository.actions .run-list { border: 1px solid var(--glutea-line); border-radius: 0 0 18px 18px; background: var(--glutea-card-bg); box-shadow: var(--glutea-card-shadow); }
.repository.actions .run-list > .item { padding: 19px 22px; gap: 16px; }
.repository.actions .run-list .item-title { font-size: 15px; font-weight: 600; }
.repository.actions .run-list .item-body { color: var(--glutea-muted); font-size: 12.5px; margin-top: 7px; }
.repository.actions .run-list-ref { font: 11.5px var(--fonts-monospace); }
.repository.actions .run-list-item-trailing { font-size: 12px; color: var(--glutea-muted); }
.action-view-header { margin-bottom: 28px; }
.action-view-header h2, .action-view-header .run-name { font-size: 32px; letter-spacing: -.03em; }
.action-view-left, .action-view-right { border-color: var(--glutea-line); }
.action-view-body { gap: 28px; }
.action-view-right { border-radius: 18px; background: var(--glutea-card-bg); overflow: hidden; }
.job-step-container, .job-step-section { border-color: var(--glutea-line); }
.job-step-summary { padding: 15px 20px; background: transparent; font-size: 14px; }
.job-step-logs { font: 12px/1.8 var(--fonts-monospace); background: var(--color-code-bg); }
.job-step-logs .log-line:hover { background: var(--color-hover); }
.job-step-logs .log-line-number { color: var(--glutea-faint); }

/* Global lists, notifications and settings use the same card vocabulary. */
.ui.vertical.menu, .ui.secondary.vertical.menu { border: 0; box-shadow: none; background: transparent; }
.ui.vertical.menu > .item { border: 0; padding: 12px 14px; border-radius: 10px; margin-bottom: 4px; font-size: 14px; color: var(--glutea-muted); }
.ui.vertical.menu > .active.item { background: var(--color-active); color: var(--color-text); font-weight: 600; }
.ui.vertical.menu > .item::before { display: none; }
.explore .repo-list, .explore .user-list, .explore .organization-list, .dashboard .milestone-list { border: 1px solid var(--glutea-line); border-radius: 18px; background: var(--glutea-card-bg); box-shadow: var(--glutea-card-shadow); }
.explore .repo-list > .item, .explore .user-list > .item, .explore .organization-list > .item { padding: 22px 24px; }
.explore .repo-list .repo-title { font-size: 19px; letter-spacing: -.02em; }
.explore .repo-list .repo-description { color: var(--glutea-muted); font-size: 14px; line-height: 1.7; }
.explore .ui.secondary.pointing.menu .item { padding: 16px; font-size: 14px; }
.explore .ui.secondary.pointing.menu .active.item { border-color: var(--glutea-accent); }
#notification_table { overflow: hidden; }
#notification_table .notifications-item { padding: 20px 24px; gap: 16px; border-color: var(--glutea-line); }
#notification_table .notifications-item:hover { background: var(--color-hover); }
#notification_table .notifications-link > :first-child { font: 11.5px var(--fonts-monospace); color: var(--glutea-muted); margin-bottom: 7px; }
#notification_table .notifications-link > :last-child { font-size: 15px; font-weight: 500; }
#notification_table .notifications-updated { font-size: 12px; color: var(--glutea-muted); }
#notification_table .notifications-buttons { gap: 6px; }
.repository.new-repo .ui.form { max-width: 780px; margin: 0 auto; }
.repository.new-repo .ui.form > .ui.segment { padding: 28px 32px; }
.repository.new-repo .ui.form > .ui.header { font-size: 30px; padding: 26px 32px; letter-spacing: -.035em; }
.user.settings .flex-container-main > .ui.segment, .repository.settings .flex-container-main > .ui.segment { padding: 24px; }
.page-footer { padding: 22px 32px; margin-top: 32px; border-top: 1px solid var(--glutea-line); background: transparent; font-size: 12px; color: var(--glutea-muted); }

/* Existing Svelte screens share the native chrome and softer card edges. */
body [data-ui='Card'] { border-color: var(--glutea-line); }
#dashboard-repo-list .ui.segment { border-color: var(--glutea-line); border-radius: 18px; }
#dashboard-repo-list .repo-owner-name-list > li { padding: 10px 14px; }
#dashboard-repo-list .repo-owner-name-list > li:hover { background: var(--color-hover); }
#dashboard-repo-list .repo-owner-name-list .repo-name { font-size: 14px; }
#dashboard-repo-list .ui.secondary.menu { border-color: var(--glutea-line); }
#dashboard-repo-list .ui.secondary.menu .item { font-size: 12px; }
#dashboard-repo-list .ui.secondary.menu .active.item { color: var(--color-text); border-color: var(--glutea-accent); }
.heatmap-color-0 { fill: color-mix(in srgb, var(--glutea-accent) 7%, transparent); }
.heatmap-color-1 { fill: color-mix(in srgb, var(--glutea-accent) 30%, transparent); }
.heatmap-color-2 { fill: color-mix(in srgb, var(--glutea-accent) 55%, transparent); }
.heatmap-color-3 { fill: color-mix(in srgb, var(--glutea-accent) 80%, transparent); }
.heatmap-color-4 { fill: var(--glutea-accent); }

/* The reference is desktop-only; retain usable native layouts on small screens. */
/* Native IDs and compound selectors below match Gitea's own specificity. */
[hidden]:not([hidden='until-found']) { display: none !important; }
#navbar [data-ui='WorkspaceSwitcher'] .workspace-home { border-radius: 11px 0 0 11px; }
#navbar [data-ui='WorkspaceSwitcher'] .workspace-toggle { border-radius: 0 11px 11px 0; }
#navbar [data-ui='WorkspaceSwitcher'] .workspace-options { border-color: var(--glutea-line-strong); background: var(--color-box-body); border-radius: 16px; box-shadow: var(--glutea-card-shadow); }
#navbar .navbar-right > a:has(.octicon-bell) { min-width: 38px; height: 38px; border: 1px solid var(--glutea-line); background: var(--glutea-card-bg); border-radius: 12px; justify-content: center; }
#navbar a.item .notification_count { color: #fff; background: var(--glutea-accent); font: 10.5px var(--fonts-monospace); min-width: 18px; padding: 2px 5px; border-radius: 999px; box-shadow: 0 0 0 2px var(--color-body); }
.glutea-notifications { position: relative; }
#navbar .glutea-notifications > a { display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; padding: 0; border: 1px solid var(--glutea-line); border-radius: 12px; background: var(--glutea-card-bg); }
.glutea-notification-preview { position: absolute; top: calc(100% + 10px); right: 0; width: 420px; max-width: calc(100vw - 32px); border: 1px solid var(--glutea-line-strong); border-radius: 16px; background: linear-gradient(var(--glutea-surface-raised), var(--glutea-surface-raised)), var(--color-body); box-shadow: var(--glutea-card-shadow); backdrop-filter: blur(20px); overflow: hidden; outline: none; }
.glutea-notification-preview > header { display: flex; align-items: center; justify-content: space-between; padding: 13px 18px; border-bottom: 1px solid var(--glutea-line); font-size: 14px; }
.glutea-preview-close { border: 0; background: transparent; color: var(--glutea-muted); font-size: 24px; width: 28px; height: 28px; border-radius: 8px; cursor: pointer; }
.glutea-preview-close:hover { background: var(--color-hover); }
.glutea-notification-items { padding: 8px; font-size: 13px; color: var(--glutea-muted); line-height: 1.6; }
.glutea-notification-row { display: grid; grid-template-columns: 16px minmax(0, 1fr); gap: 12px; padding: 11px 12px; border-radius: 9px; color: var(--color-text); }
.glutea-notification-row:hover { background: var(--color-hover); color: var(--color-text); }
.glutea-notification-row > span:last-child { min-width: 0; display: flex; flex-direction: column; }
.glutea-notification-row small { font: 11px/1.7 var(--fonts-monospace); color: var(--glutea-muted); }
.glutea-notification-row small, .glutea-notification-row > span > span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.glutea-preview-status.svg { margin-top: 3px; width: 16px; height: 16px; color: var(--glutea-muted); }
.glutea-preview-status:is(.octicon-issue-opened, .octicon-issue-reopened, .octicon-git-pull-request) { color: var(--glutea-open); }
.glutea-preview-status.octicon-issue-closed { color: var(--glutea-closed); }
.glutea-preview-status.octicon-git-merge { color: var(--glutea-merged); }
.glutea-preview-status.octicon-git-pull-request-closed { color: var(--glutea-delete); }
.glutea-notifications-all { display: block; padding: 14px; border-top: 1px solid var(--glutea-line); font-size: 14px; font-weight: 600; text-align: center; color: var(--color-text); }
.glutea-notifications-all:hover { background: var(--color-hover); }
.glutea-context-nav .glutea-context-tabs > .active.item { border-radius: 10px; }
.glutea-repo-header .repo-header { padding: 0; }
.glutea-repo-header .ui.secondary.pointing.menu .item { padding: 9px 10px 11px !important; gap: 7px; }
.glutea-repo-header .ui.secondary.pointing.menu .item > .svg { width: 14px !important; height: 14px !important; margin: 0 !important; }
.glutea-repo-header .ui.secondary.pointing.menu .item .ui.label { margin: 0; padding: 1px 7px; min-width: 20px; font-size: 11.5px; }
.glutea-repo-header .ui.tabs.divider { display: none; }
.glutea-repo-header .overflow-menu-items { min-width: 0; }
.glutea-site-name { max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.repository .view-file-tree-items { font-size: 13px; }
.repository .view-file-tree-items .tree-item { border-radius: 8px; padding-top: 8px; padding-bottom: 8px; }
.repository .view-file-tree-items .tree-item.type-directory > .svg { color: var(--glutea-accent-secondary); }
.repository #repo-files-table {
  border: 1px solid var(--glutea-line); border-radius: 18px; overflow: hidden;
  background: var(--glutea-card-bg); backdrop-filter: blur(16px); box-shadow: var(--glutea-card-shadow); margin: 14px 0 24px;
}
.repository #repo-files-table .repo-file-line { min-height: 54px; padding: 14px 18px; border-color: var(--glutea-line); }
.repository #repo-files-table .repo-file-cell { min-height: 44px; border-color: var(--glutea-line); }
.repository #repo-files-table .repo-file-item:hover > .repo-file-cell { background: var(--color-hover); }
.repository #repo-files-table .repo-file-line:first-child { border-radius: 18px 18px 0 0; }
.repository #repo-files-table .repo-file-last-commit > .latest-commit { flex: 1; min-width: 0; }
.repository .glutea-commit-count { flex: none; margin-left: 8px; color: var(--color-text); }
.repository .repo-button-row .glutea-repo-stat { padding: 9px 12px; }
.repository .file-header.ui.header { border-radius: 18px 18px 0 0; padding: 16px 20px !important; }
.repository .file-view-container.ui.segment { background: var(--glutea-card-bg); box-shadow: var(--glutea-card-shadow); }
.repository.view.issue .issue-content-left { width: auto; }
.repository:is(.view, .new).issue .issue-content-right.ui.segment { width: auto; border: 0; border-radius: 0; padding: 0; background: transparent; box-shadow: none; backdrop-filter: none; }
.repository.view.issue .comment-list { margin-left: 0; padding-left: 0; }
.repository.view.issue .comment-list::before { left: 21px; bottom: auto; height: var(--glutea-timeline-height, calc(100% - 26px)); margin-bottom: 0; background: var(--glutea-line-strong); }
.repository.view.issue .comment-list .timeline-item { margin-left: 0; padding: 0 0 24px; }
.repository.view.issue .comment-list .timeline-item .timeline-avatar { left: 0; }
.repository.view.issue .comment-list .timeline-item.event > .timeline-avatar-offset { left: -46px; top: calc(100% + 8px); }
.repository.view.issue .comment-list .timeline-item.event { margin-left: 46px; padding: 12px 0 10px; font-size: 14.5px; }
/* The mock's 36px disk excludes its body-colored clearance ring. */
.repository.view.issue .comment-list .timeline-item .badge { width: 36px; height: 36px; border: 0; border-radius: 50%; background: var(--glutea-bg-secondary); box-shadow: 0 0 0 4px var(--color-body); margin-left: -42px; margin-right: 14px; }
.repository.view.issue .comment-list .timeline-item .badge > .svg { width: 16px; height: 16px; padding: 0; flex-shrink: 0; }
/* Commit rows are content beneath a push event, not event badges on the rail. */
.repository.view.issue .comment-list .timeline-item.commits-list { margin-left: 62px; padding: 0 0 24px 6px; }
.repository.view.issue .comment-list .commits-list > .flex-text-block { min-width: 0; min-height: 28px; gap: 12px; }
.repository.view.issue .comment-list .timeline-item.commits-list .badge-commit { flex: 0 0 16px; width: 16px; height: 28px; margin: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.repository.view.issue .comment-list .commits-list .badge-commit > .svg { width: 16px; height: 16px; padding: 0; }
.repository.view.issue .comment-list .commits-list .avatar-stack { flex-shrink: 0; }
.repository.view.issue .comment-list .commits-list .avatar-stack img { width: 20px; height: 20px; border-radius: 6px; }
.repository.view.issue .comment-list .commits-list .commit-id-short { background: transparent; border: 0; padding: 0; font: 11.5px var(--fonts-monospace); color: var(--glutea-muted); }
.repository.view.issue .comment-list .commits-list .commit-body { margin: 8px 0 12px 24px !important; white-space: pre-wrap; overflow-wrap: anywhere; }
/* Match native attached-child specificity without clipping reaction menus. */
.repository.view.issue .comment-list .timeline-item.comment > .content > div:first-child { border-top-left-radius: 18px; border-top-right-radius: 18px; }
.repository.view.issue .comment-list .timeline-item.comment > .content > div:last-child { border-bottom-left-radius: 18px; border-bottom-right-radius: 18px; }
/* Only unfilled review badges need a muted icon; colored events retain white. */
.repository.view.issue .comment-list .timeline-item .badge.tw-text-white:not([class*="tw-bg-"]) { color: var(--glutea-muted) !important; }
/* The merge summary has a rounded square marker, distinct from event disks.
   Mix against the opaque body so the timeline rail never shows through. */
.repository.view.issue .comment-list .pull-merge-box > .timeline-avatar { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; left: 0; border: 0; border-radius: 14px; background: color-mix(in srgb, currentColor 12%, var(--color-body)); box-shadow: 0 0 0 4px var(--color-body); }
.repository.view.issue .comment-list .pull-merge-box > .timeline-avatar > .svg { width: 20px; height: 20px; padding: 0; color: inherit; }
.repository.view.issue .comment-list .pull-merge-box > .timeline-avatar.tw-text-text-light { background: var(--glutea-bg-secondary); }
.repository.view.issue .comment-list .pull-merge-box > .timeline-avatar.tw-text-text-light > .svg { color: var(--glutea-muted); }
.repository.view.issue .comment-list .pull-merge-box > .timeline-avatar.tw-text-yellow > .svg { color: var(--color-warning-text); }
.repository.view.issue .comment-list .comment .comment-header { background: transparent; }
.repository.view.issue .comment-list .comment .comment-body { background: transparent; }
.repository.view.issue .comment-list .comment .content > .ui.segment { background: transparent; }
.repository.view.issue .comment-list .comment .content .render-content { background: transparent; }
.repository.view.issue .comment-list .comment .comment-reactions { background: transparent; }
.repository .issue-content-right .divider { border-color: var(--glutea-line); margin: 20px 0; }
.repository .issue-content-right .select-label { font-size: 13px; }
.repository .issue-content-right .select-label .menu { padding: 6px; }
.repository .ui.tabular.menu { background: transparent; border-color: var(--glutea-line); }
.repository .ui.tabular.menu > .item { border: 0; border-bottom: 2px solid transparent; border-radius: 0; padding: 12px 16px; font-size: 13px; }
.repository .ui.tabular.menu > .active.item { background: transparent; border-bottom-color: var(--glutea-accent); }
.repository.actions .flex-container-main > .ui.attached.segment { padding: 0; background: transparent; }
.repository.actions .run-list { border: 0; }
.repository.actions .ui.vertical.menu > .active.item { border-radius: 10px; }
.explore .flex-divided-list.items-with-main { border: 1px solid var(--glutea-line); border-radius: 18px; background: var(--glutea-card-bg); box-shadow: var(--glutea-card-shadow); margin-top: 22px; }
.explore .flex-divided-list.items-with-main > .item { padding: 22px 24px; border-color: var(--glutea-line); }
.explore .flex-divided-list.items-with-main .item-title { font-size: 18px; }
.explore .flex-divided-list.items-with-main .item-body { color: var(--glutea-muted); font-size: 14px; line-height: 1.7; }
.explore .secondary-nav > .ui.container { justify-content: flex-start; }
.explore .secondary-nav .overflow-menu-items { justify-content: flex-start; }
body .ui.secondary.vertical.menu > .active.item { border-radius: 10px; }
body .small-menu-items.ui.menu { padding: 3px; background: var(--glutea-card-bg); border: 1px solid var(--glutea-line); border-radius: 11px; box-shadow: none; }
body .small-menu-items.ui.menu > .item { border: 0; border-radius: 8px; padding: 8px 12px; }
body .small-menu-items.ui.menu > .item::before { display: none; }
body .small-menu-items.ui.menu > .active.item { background: var(--color-active); color: var(--color-text); }
.issue-list-toolbar .small-menu-items.ui.menu { padding: 0; border: 0; background: transparent; }
.issue-list-toolbar .small-menu-items.ui.menu > .item { background: transparent; font-size: 13px; color: var(--glutea-muted); }
.issue-list-toolbar .small-menu-items.ui.menu > .active.item { color: var(--color-text); font-weight: 600; }
.issue-list-toolbar .small-menu-items.ui.menu .octicon-issue-opened, .issue-list-toolbar .small-menu-items.ui.menu .octicon-git-pull-request { color: var(--color-green); }
.repository.milestones .milestone-list { border-radius: 0 0 18px 18px; }
.milestone-list .list-item-title-progress { height: 5px; width: 180px; }
.milestone-list .list-item-large-title { font-size: 20px; font-weight: 600; }
.repository .activity-header { font-size: 28px; margin-bottom: 20px; }
.repository .stats-table { background: transparent; }
.repository .stats-table .ui.segment { background: transparent; border-radius: 0; box-shadow: none; }
.repository .stats-table .ui.segment:last-child { border-radius: 0 0 18px 0; }
.repository.wiki.view .wiki-content-parts { display: grid; grid-template-columns: 190px minmax(0, 1fr) 190px; gap: 24px; align-items: start; }
.repository.wiki.view .wiki-content-parts:not(:has(.wiki-content-toc)) { grid-template-columns: 190px minmax(0, 1fr); }
.repository.wiki.view .wiki-content-main { grid-column: 2; grid-row: 1 / span 2; width: auto; max-width: none; margin: 0; padding: 28px 32px; border-radius: 18px; border-color: var(--glutea-line); background: var(--glutea-card-bg); }
.repository.wiki.view .wiki-content-toc { grid-column: 3; grid-row: 1; width: auto; margin: 0; padding: 18px 0; background: transparent; border: 0; font-size: 13px; }
.repository.wiki.view .wiki-content-sidebar:not(.wiki-content-toc) { grid-column: 1; grid-row: 2; width: auto; margin: 0; padding: 16px 0; }
.repository.wiki.view .wiki-content-footer { grid-column: 1 / -1; }
.repository.wiki.view .wiki-content-parts > .tw-clear-both { display: none; }
.glutea-wiki-pages { grid-column: 1; grid-row: 1; display: flex; flex-direction: column; gap: 3px; padding-top: 8px; }
.glutea-wiki-pages > a { padding: 10px 12px; border-radius: 9px; color: var(--glutea-muted); font-size: 13px; }
.glutea-wiki-pages > a:first-child { font-weight: 600; color: var(--color-text); margin-bottom: 8px; }
.glutea-wiki-pages > a:hover, .glutea-wiki-pages > a[aria-current] { background: var(--color-hover); color: var(--color-text); }
.repository.wiki.view > .ui.container > .ui.dividing.header { border: 0; margin: 26px 0; }
.repository.wiki.view > .ui.container > .ui.dividing.header .tw-flex-1.gt-ellipsis { font-size: 30px; line-height: 1.3; letter-spacing: -.03em; }
.repository.wiki.view > .ui.container > .ui.dividing.header .ui.sub.header { font-size: 13px; letter-spacing: 0; margin-top: 8px; }
.repository .commit-table.ui.segment:has(#commits-table[data-glutea-grouped]) { border: 0; background: transparent; padding: 0; box-shadow: none; }
.repository #commits-table[data-glutea-grouped] { background: transparent; border: 0; border-collapse: separate; border-spacing: 0; }
.repository #commits-table[data-glutea-grouped] > thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.repository #commits-table .glutea-commit-date > td { background: transparent; border: 0; padding: 24px 4px 12px; font-size: 13px; font-weight: 500; color: var(--glutea-muted); }
.repository #commits-table .glutea-commit-row > td { border-radius: 0; background: var(--glutea-card-bg); border-top: 1px solid var(--glutea-line); padding: 18px 16px; }
.repository #commits-table .glutea-commit-row > td:first-child { border-left: 1px solid var(--glutea-line); }
.repository #commits-table .glutea-commit-row > td:last-child { border-right: 1px solid var(--glutea-line); }
.repository #commits-table .glutea-commit-row:hover > td { background: var(--color-hover); }
.repository #commits-table .glutea-commit-date + tr > td:first-child { border-top-left-radius: 14px; }
.repository #commits-table .glutea-commit-date + tr > td:last-child { border-top-right-radius: 14px; }
.repository #commits-table .glutea-commit-last > td { border-bottom: 1px solid var(--glutea-line); }
.repository #commits-table .glutea-commit-last > td:first-child { border-bottom-left-radius: 14px; }
.repository #commits-table .glutea-commit-last > td:last-child { border-bottom-right-radius: 14px; }
.repository.new-repo > .ui.container { max-width: 824px; margin-top: 0; }
.repository.new-repo > .ui.container > .ui.header { border: 0; background: transparent; font-size: 44px; letter-spacing: -.035em; padding: 0 0 26px; }
.repository.new-repo > .ui.container > .ui.segment { border: 1px solid var(--glutea-line); border-radius: 18px; padding: 28px 32px; }
.repository.new-repo .new-repo-form.ui.form .inline.field { display: grid; grid-template-columns: 160px minmax(0, 1fr); column-gap: 24px; align-items: start; row-gap: 0; }
.repository.new-repo .new-repo-form.ui.form .inline.field > label { text-align: left; width: auto; margin: 0; padding-top: 12px; }
.repository.new-repo .new-repo-form.ui.form .inline.field > :is(input:not([type='checkbox']), textarea, .selection.dropdown) { width: 100%; max-width: none; }
.repository.new-repo .new-repo-form.ui.form .inline.field > .help { grid-column: 2; margin-left: 0; }
.repository.new-repo .new-repo-form.ui.form .inline.field > .ui.checkbox { grid-column: 2; align-self: start; margin-top: 12px; }
.repository.new-repo .new-repo-form.ui.form .inline.field > label:empty { display: none; }
.repository.new-repo .new-repo-form.ui.form .inline.field > .button { grid-column: 2; justify-self: start; }
#dashboard-repo-list .ui.two.item.menu { border: 1px solid var(--glutea-line); border-radius: 12px; padding: 4px; background: var(--glutea-card-bg); box-shadow: none; }
#dashboard-repo-list .ui.two.item.menu .item { border: 0; border-radius: 9px; padding: 10px; }
#dashboard-repo-list .ui.two.item.menu .item::before { display: none; }
#dashboard-repo-list .ui.two.item.menu .active.item { background: var(--color-text); color: var(--color-body); }
#dashboard-repo-list .ui.top.attached.header { border: 0; background: transparent; padding: 18px 14px; }
#dashboard-repo-list .ui.attached.segment { border-color: var(--glutea-line); border-radius: 18px 18px 0 0; padding: 14px; }
#dashboard-repo-list ul.repo-owner-name-list { border: 1px solid var(--glutea-line); border-radius: 0 0 18px 18px; background: var(--glutea-card-bg); padding: 8px 0; }
#dashboard-repo-list ul.repo-owner-name-list > li { border: 0; padding: 9px 14px; }
#dashboard-repo-list ul.repo-owner-name-list .repo-list-link { font-size: 14px; }
#glutea-native-heatmap {
  --color-secondary-alpha-60: color-mix(in srgb, var(--glutea-accent) 7%, transparent);
  --color-primary-light-4: color-mix(in srgb, var(--glutea-accent) 30%, transparent);
  --color-primary-light-2: color-mix(in srgb, var(--glutea-accent) 55%, transparent);
  --color-primary: color-mix(in srgb, var(--glutea-accent) 80%, transparent);
  --color-primary-dark-2: var(--glutea-accent);
  --color-primary-dark-4: var(--glutea-accent);
}
#glutea-native-heatmap .heatmap-day { rx: 2px; ry: 2px; }
.page-content .action-view-header { margin-top: 0; gap: 12px; }
#repo-action-view > .ui.fluid.container { max-width: 1280px; width: 100%; padding: 0 32px; margin: 0 auto; }
#repo-action-view .action-info-summary-title { font-size: 34px; font-weight: 600; line-height: 1.2; letter-spacing: -.035em; }
#repo-action-view .action-info-summary-title > .svg { width: 32px; height: 32px; }
.page-content .action-view-body { gap: 28px; padding-top: 24px; }
.page-content .action-view-left { background: transparent; width: 240px; flex: none; top: 88px; }
.page-content .action-view-right { width: auto; background: transparent; overflow: visible; border: 0; }
.page-content .action-view-right-panel { border: 1px solid var(--glutea-line); border-radius: 18px; background: var(--glutea-card-bg); box-shadow: var(--glutea-card-shadow); }
.page-content .job-info-header { border-radius: 18px 18px 0 0; padding: 22px; }
.page-content .job-step-container .job-step-summary { padding: 14px 16px; font-size: 13px; border-radius: 9px; }
.page-content .job-step-section .job-step-logs { padding: 12px 0; line-height: 1.8; }
.page-content .job-log-line .log-cmd-command { color: var(--glutea-accent-secondary); }
/* Measured against the interactive reference at 1440px. These compound
   selectors deliberately outrank Gitea's compact and attached variants. */
.page-content > .glutea-context-nav.secondary-nav { --color-secondary-nav-bg: var(--glutea-bg-secondary); padding: 0; }
.glutea-context-nav .ui.secondary.menu .glutea-context-tabs > .item { border-radius: 10px; min-height: 36px; height: 36px; padding: 9px 14px; gap: 9px; font-size: 14.5px; font-weight: 500; line-height: 18px; }
.glutea-context-nav .ui.secondary.menu .glutea-context-tabs > .active.item { font-weight: 600; }
.glutea-repo-header .repo-header > .flex-text-block { flex: none; gap: 10px; }
.glutea-repo-header .repo-header .ui.compact.button { min-height: 40px; padding: 10px 14px; font-size: 14px; font-weight: 600; }
.glutea-repo-header .repo-header a.ui.compact.button[href$='.rss'] { width: 40px; padding: 10px; }
.glutea-repo-header .repo-header .ui.labeled.button { display: inline-flex; min-height: 40px; border: 1px solid var(--glutea-line); border-radius: 12px; background: var(--glutea-card-bg); }
.glutea-repo-header .repo-header .ui.labeled.button > .button { min-height: 38px; border: 0; background: transparent; padding-right: 10px; }
.glutea-repo-header .repo-header .ui.labeled.button > .label { align-self: center; min-height: 0; height: 16px; padding: 0 12px 0 9px; border: 0; border-left: 1px solid var(--glutea-line); border-radius: 0; background: transparent; color: var(--glutea-muted); }
.glutea-repo-header .repo-header .ui.basic.label:not(.button > .label) { text-transform: uppercase; letter-spacing: .04em; padding: 4px 9px; }
.repository .repo-button-row .ui.button { min-height: 38px; padding: 9px 13px; font-size: 13px; font-weight: 600; }
.repository .repo-button-row .ui.icon.button { padding: 9px 10px; }
.repository .repo-button-row { gap: 10px; margin-top: 0; }
.repository .repo-file-search-container { flex: 1; min-width: 100px; }
.repository .repo-file-search-container .ui.input { width: 100%; }
.repository .repo-home-sidebar-top > .divider, .repository .repo-home-sidebar-bottom > .divider { margin: 24px 0; }
.repository .repo-home-sidebar-top, .repository .repo-home-sidebar-bottom { --color-text-light-2: var(--glutea-muted); }
/* The homepage README is one card. File pages retain a separate commit header
   and an attached toolbar/content card in both source and rendered modes. */
.repository #readme.non-diff-file-content:has(.file-view.markup) { border: 1px solid var(--glutea-line); border-radius: 18px; background: var(--color-box-body); box-shadow: none; }
.repository #readme.non-diff-file-content:has(.file-view.markup) .file-header.ui.header { border: 0; background: transparent; padding: 26px 36px 0 !important; }
.repository #readme.non-diff-file-content:has(.file-view.markup) .file-view-container.ui.segment { border: 0; background: transparent; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
.repository #readme.non-diff-file-content:has(.file-view.markup) .file-view.markup { padding: 12px 36px 30px; font-size: 16px; }
.repository #readme.non-diff-file-content:has(.file-view.markup) .file-header .file-info { font-size: 11.5px; text-transform: uppercase; letter-spacing: .08em; font-weight: 500; }
.issue-list-toolbar .small-menu-items.ui.menu > .active.item { background: transparent; }
#issue-pins .issue-card { padding: 16px 18px; border-radius: 16px; gap: 12px; min-width: 0; }
#issue-pins .issue-card > .content { min-width: 0; }
#issue-pins .issue-card-title { font-size: 15px; font-weight: 600; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; min-width: 0; line-height: 1.5; }
#issue-pins .issue-card-icon { padding-top: 3px; }
#issue-pins .issue-card .meta { font-size: 13px; line-height: 1.6; }
#issue-pins .issue-card .meta.tw-my-1 { display: inline-block; margin-right: 12px; }
#issue-pins .issue-card-bottom { margin-top: 0; }
.repository.view.issue .issue-title-buttons .ui.button { min-height: 40px; padding: 10px 15px; font-size: 14px; font-weight: 600; }
.repository.view.issue .comment-list .timeline-avatar img.ui.avatar { width: 44px; height: 44px; border-radius: 12px; }
.repository.view.issue .comment-list .comment .comment-container > :last-child { border-radius: 0 0 18px 18px; }
.repository.view.issue .comment-list .comment .comment-header { min-height: 48px; padding: 12px 20px; font-size: 13.5px; }
.repository.view.issue .comment-header .role-label { border-radius: 999px; font-size: 11px; font-weight: 500; padding: 2px 8px; line-height: 1; background: transparent; }
.repository.view.issue .comment-list .comment .render-content { padding: 18px 20px; font-size: 15px; line-height: 1.75; }
.repository.view.issue .comment-list .comment .comment-body { padding: 0; }
.repository:is(.view, .new).issue .issue-content-right .issue-sidebar-combo > .dropdown > .fixed-text { color: var(--glutea-muted); }
.repository:is(.view, .new).issue .issue-content-right .issue-sidebar-combo > .ui.dropdown { display: flex; }
.repository:is(.view, .new).issue .issue-content-right .fixed-text > .svg.octicon-gear { width: 14px; height: 14px; }
.repository:is(.view, .new).issue .issue-content-right .fixed-text > strong { font-size: 12.5px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
.repository:is(.view, .new).issue .issue-content-right > .divider { margin: 18px 0; }
.repository:is(.view, .new).issue .issue-content-right .issue-sidebar-combo > .ui.list { margin: 10px 0 0; }
.repository:is(.view, .new).issue .issue-content-right .issue-sidebar-combo > .ui.list:not(.labels-list),
.repository:is(.view, .new).issue .issue-content-right .issue-sidebar-combo > .ui.list:not(.labels-list) > .item { line-height: normal; }
.repository:is(.view, .new).issue .issue-content-right .issue-sidebar-combo > .ui.relaxed.list { display: flex; flex-direction: column; gap: 8px; }
.repository:is(.view, .new).issue .issue-content-right .issue-sidebar-combo > .ui.relaxed.list > .item { padding: 0; }
.repository:is(.view, .new).issue .issue-content-right .issue-sidebar-combo > .ui.list > .empty-list { font-size: 14px; }
.repository.view.issue .issue-content-right > a[data-global-init='initPullRequestWipToggle'] { display: block; margin-top: 10px; font-size: 13px; }
.repository:is(.view, .new).issue .issue-content-right .issue-sidebar-combo > .issue-sidebar-project-cards { margin: 10px 0 0 !important; }
.repository:is(.view, .new).issue .issue-content-right .labels-list { gap: 6px; }
.repository:is(.view, .new).issue .issue-content-right .issue-sidebar-combo:has(> input:is([name='reviewer_ids'], [name='assignee_ids'])) > .ui.list img.avatar { width: 24px; height: 24px; border-radius: 7px; }
.repository:is(.view, .new).issue .issue-content-right .issue-sidebar-combo > .ui.list a:has(> img.avatar) { gap: 10px !important; }
.repository.view.issue .issue-content-right > .ui.list.tw-flex { gap: 6px; margin-bottom: 0; }
.repository.view.issue .issue-content-right > .ui.list.tw-flex > a { display: flex; }
.repository.view.issue .issue-content-right > .ui.list.tw-flex img.avatar { width: 28px; height: 28px; border-radius: 8px; margin: 0 !important; }
.repository.view.issue .issue-content-right > .text > strong,
.repository.view.issue .issue-content-right > :is(.watching, .depending) > .text > strong,
.repository.view.issue .issue-content-right > div > .flex-text-block > strong { font-size: 13.5px; font-weight: 600; }
.repository.view.issue .issue-content-right > .watching > .tw-mt-2,
.repository.view.issue .issue-content-right > div > .ui.buttons.tw-mt-2,
.repository.view.issue .issue-content-right > .text + .ui.form.tw-mt-2 { margin-top: 10px !important; }
.repository.view.issue .issue-content-right > .depending > p { margin: 10px 0; }
.repository.view.issue .issue-content-right .watching .ui.button,
.repository.view.issue .issue-content-right .ui.button:is(.issue-start-time, .issue-stop-time, .issue-add-time, .issue-cancel-time),
.repository.view.issue .issue-content-right > form.single-button-form > .ui.button,
.repository.view.issue .issue-content-right > button.fluid { min-height: 40px; font-weight: 600; }
.repository.view.issue .issue-content-right > form.single-button-form,
.repository.view.issue .issue-content-right > button.fluid { margin-top: 8px !important; }
.repository.view.issue .issue-content-right > button[data-modal='#sidebar-delete-issue'] { color: var(--color-red); }
@media (min-width: 768px) {
  .repository:is(.view, .new).issue .issue-content-right .issue-sidebar-combo > .ui.dropdown > .menu { left: auto; right: 0; }
}
.repository:is(.view, .new).issue .issue-content-right .branch-selector-dropdown,
.repository:is(.view, .new).issue .issue-content-right .branch-dropdown-button { width: 100%; }
.repository:is(.view, .new).issue .issue-content-right .branch-dropdown-button { min-height: 40px; justify-content: space-between; font-size: 13px; }
.repository.new-repo { padding-top: 40px !important; }
.repository.new-repo > .ui.container > .ui.header { margin: 0; padding: 0; line-height: 1.05; }
.repository.new-repo > .ui.container > .ui.segment { margin-top: 32px; }
.repository.new-repo > .ui.container > .ui.attached.segment { width: 100%; margin-left: 0; margin-right: 0; }
.repository.new-repo .new-repo-form.ui.form .inline.field.glutea-init-field > .ui.checkbox { grid-column: 1 / -1; width: 100%; margin-top: 0; }
.repository.new-repo #auto-init.ui.checkbox label { padding: 0 60px 0 0; line-height: 1.6; }
.repository.new-repo .glutea-init-field .ui.toggle.checkbox label::before { left: auto; right: 0; top: 0; width: 44px; height: 26px; }
.repository.new-repo .glutea-init-field .ui.toggle.checkbox label::after { left: auto; right: 21px; top: 3px; width: 20px; height: 20px; }
.repository.new-repo .glutea-init-field .ui.toggle.checkbox input:checked ~ label::after { left: auto; right: 3px; }
.repository #repo-topics .repo-topic[style*='--glutea-topic-hue'] { padding: 4px 10px; line-height: 1.4; background: oklch(var(--glutea-label-lightness) var(--glutea-label-chroma) var(--glutea-topic-hue)); color: oklch(var(--glutea-label-ink-lightness) var(--glutea-label-ink-chroma) var(--glutea-topic-hue)); }
.repository.new-repo .glutea-form-intro { text-align: left; margin: 12px 0 0; color: var(--glutea-muted); font-size: 16px; line-height: 1.3; }
.repository.new-repo .ui.form .field { margin-bottom: 24px; }
.repository.new-repo .ui.form .inline.field > :is(input:not([type='checkbox']), .selection.dropdown) { min-height: 44px; background: var(--color-body); }
.repository.new-repo .ui.form .inline.field > textarea { min-height: 88px; background: var(--color-body); }
.repository.new-repo .ui.form .field .help { font-size: 13px; line-height: 1.5; width: auto; padding-bottom: 0; }
#dashboard-repo-list .dashboard-repos > .ui.attached.segment.repos-search { border-radius: 18px 18px 0 0; padding: 16px 16px 0; border-bottom: 0; }
/* The list below creates its own stacking context; lift the open filter's
   search segment so both choices stay visible and clickable above it. */
#dashboard-repo-list .dashboard-repos > .repos-search:has(.ui.dropdown.active, .overflow-menu-button[aria-expanded='true']) { z-index: 1; }
#dashboard-repo-list .repos-search .ui.dropdown > .menu { left: auto; right: 0; background: var(--color-box-body); }
#dashboard-repo-list .dashboard-repos > .ui.attached.table.segment { border-radius: 0 0 18px 18px; padding: 0; border-top: 0; overflow: hidden; }
#dashboard-repo-list .dashboard-repos ul.repo-owner-name-list { border: 0; border-radius: 0; background: transparent; padding: 8px 0; }
#dashboard-repo-list .dashboard-repos ul.repo-owner-name-list > li { padding: 12px 18px; }
#dashboard-repo-list .dashboard-repos .repos-filter { margin: 10px 0 0 !important; padding: 0; }
#dashboard-repo-list .dashboard-repos .repos-filter .item { padding: 12px 12px !important; font-size: 13px !important; }
#dashboard-repo-list .dashboard-repos .repos-filter .active.item { border-bottom-color: var(--glutea-accent); }

/* Native repository paging uses mixed padding utilities and a square last-item
   rule. Keep every target the same size and center the unlabelled chevrons. */
#dashboard-repo-list .ui.pagination.menu { display: inline-flex; align-items: center; gap: 6px; min-height: 0; padding: 4px; }
#dashboard-repo-list .ui.pagination.menu > .item { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; min-width: 40px; height: 40px; min-height: 40px; padding: 0 8px !important; border-radius: var(--glutea-control-radius, 12px); line-height: 1; font-size: 13px; font-variant-numeric: tabular-nums; }
#dashboard-repo-list .ui.pagination.menu > .item::before { display: none; }
#dashboard-repo-list .ui.pagination.menu > .item > .svg { margin: 0 !important; flex-shrink: 0; }
#dashboard-repo-list .ui.pagination.menu > .navigation:not(.disabled):hover { background: var(--color-hover); border-color: var(--glutea-line-strong); }
#dashboard-repo-list .ui.pagination.menu > .navigation.disabled { color: var(--glutea-muted); background: transparent; border-color: transparent; opacity: .5; cursor: default; }
#dashboard-repo-list .ui.pagination.menu > .active.item { border-color: transparent; font-weight: 600; cursor: default; }
#dashboard-repo-list .ui.pagination.menu > .navigation:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; }
@media (max-width: 767.98px) {
  #dashboard-repo-list .ui.pagination.menu > .item { min-width: 44px; height: 44px; min-height: 44px; }
}
#glutea-native-heatmap .heatmap-footer { margin-top: 16px; font-size: 12px; color: var(--glutea-muted); }
/* Secondary reference layouts share the repository header above. */
.repository.actions .flex-container-nav, .repository.activity .flex-container-nav { flex-basis: 240px; }
.repository.actions .flex-container-main > .ui.top.attached.header { min-height: 54px; padding: 10px 18px; font-size: 14px; }
.repository.actions .run-list > .item { padding: 14px 20px; min-height: 68px; }
.repository.actions .run-list .item-main { gap: 5px; }
.repository.actions .run-list .item-body { margin-top: 0; font-size: 13px; }
.repository .activity-header { font-size: 30px; }
.repository .stats-table { overflow: hidden; border-radius: 18px; }
.repository #release-list > .release-entry { display: flex; gap: 28px; }
.repository #release-list .release-entry > .meta { width: 220px; flex: none; }
.repository #release-list .release-entry > .detail { flex: 1; min-width: 0; }
.repository #release-list .release-list-title { font-size: 30px; font-weight: 600; }
.repository #release-list .download .item { min-height: 44px; padding: 12px 0; }
.repository .diff-file-body .lines-code { font-size: 13px; }
.repository .diff-file-header { min-height: 42px; padding: 10px 16px; }
.repository .diff-detail-box .ui.button { min-height: 38px; }
.explore > .secondary-nav { --color-secondary-nav-bg: var(--glutea-bg-secondary); margin-bottom: 40px; }
.explore > .secondary-nav .ui.secondary.pointing.menu { border: 0; min-height: 54px; padding-top: 8px; padding-bottom: 8px; }
.explore > .secondary-nav .overflow-menu-items { gap: 6px; justify-content: flex-start; }
.explore > .secondary-nav .ui.secondary.pointing.menu .item { padding: 10px 14px !important; border: 0; border-radius: 10px; }
.explore > .secondary-nav .ui.secondary.pointing.menu .active.item { background: var(--color-active); color: var(--color-text); }
.explore .repo-title a { color: var(--color-text); }
.explore .repo-title .repo-owner { color: var(--glutea-muted); font-weight: 400; }
.page-content.dashboard:not(.glutea-screen) > .glutea-context-nav { margin-bottom: 40px; }
.dashboard.issues .flex-container-nav { flex: 0 0 260px; }
.dashboard.issues .flex-container-nav .ui.vertical.menu > .item { border-radius: 12px; min-height: 40px; }
.dashboard.issues #issue-list { border-radius: 18px; margin-top: 16px; }
.dashboard.issues .list-header { gap: 10px; }
.dashboard.issues .list-header .ui.menu, .dashboard.issues .list-header .ui.input { min-height: 42px; }
.dashboard.issues .list-header-toggle.ui.menu { padding: 0; overflow: hidden; }
.dashboard.issues .list-header-toggle.ui.menu > .item { min-height: 40px; padding: 0 16px; border-radius: 0; font-size: 14px; }
#issue-filters.issue-list-toolbar .small-menu-items.ui.menu > .active.item { background: transparent; }
@media (max-width: 1100px) {
  #navbar.glutea-platform { padding-left: 24px; padding-right: 24px; }
  .glutea-repo-name { font-size: 38px; }
  .repository .repo-grid-filelist-sidebar { grid-template-columns: minmax(0, 1fr) 250px; gap: 22px; }
  .repository .repo-button-row { flex-wrap: wrap; }
  .repository .issue-content { grid-template-columns: minmax(0, 1fr) 230px; gap: 22px; }
  .repository.view.issue .issue-title { flex-wrap: wrap; }
}
@media (max-width: 767.98px) {
  .dashboard.issues .flex-container-nav { flex: none; }
  #navbar.glutea-platform { padding: 10px 16px; min-height: 64px; }
  #navbar .navbar-left { gap: 10px; }
  #navbar .glutea-site-name { display: none; }
  #navbar .navbar-left > .item:not(#navbar-logo) { margin: 0; }
  .page-content > .ui.container, .secondary-nav > .ui.container, .page-content > .ui.container.fluid { width: 100%; padding-left: 16px; padding-right: 16px; margin-left: 0 !important; margin-right: 0 !important; }
  .page-content > .glutea-repo-header.secondary-nav { padding-top: 24px; margin-bottom: 20px; }
  .glutea-breadcrumb { margin-bottom: 20px; }
  .glutea-repo-header .repo-header { flex-wrap: wrap; margin-bottom: 18px; }
  .glutea-repo-name { font-size: 34px; }
  .glutea-repo-description { margin-top: 0; font-size: 14px; }
  .glutea-context-nav .ui.secondary.menu { padding: 8px 16px; }
  .glutea-context-tabs { flex-wrap: nowrap; }
  .repository .repo-grid-filelist-sidebar, .repository .issue-content { display: flex; flex-direction: column; }
  .repository .repo-home-filelist, .repository .issue-content-left, .repository .issue-content-right { width: 100%; min-width: 0; }
  .repository.view.issue .issue-content-left { width: 100%; }
  .repository:is(.view, .new).issue .issue-content-right.ui.segment { width: 100%; }
  .repository .repo-home-sidebar-top, .repository .repo-home-sidebar-bottom { width: 100%; }
  .repository .repo-file-cell.message { display: none; }
  .repository .repo-file-cell.age { padding-left: 0; }
  .repository #repo-files-table .repo-file-cell { padding: 12px; }
  .repository .repo-button-row-right { flex-wrap: wrap; width: 100%; }
  .repository .repo-button-row-left { flex-wrap: wrap; }
  .repository .repo-file-search-container { flex: 1; min-width: 110px; }
  .repository .repo-file-search-container .ui.input { width: 100%; }
  .repository .file-view.markup { padding: 20px; }
  .repository.view.issue .issue-title h1 { font-size: 30px; }
  .repository .issue-title-meta { flex-wrap: wrap; gap: 12px; }
  .repository .issue-title-meta > .tw-flex-1 { flex-basis: 100%; margin-left: 0; }
  .repository.view.issue .comment-list .timeline-avatar { display: none; }
  .repository.view.issue .comment-list .timeline-item.comment > .content { margin-left: 0; }
  .repository.view.issue .comment-list .timeline-item::before { display: none; }
  .repository.view.issue .comment-list .timeline-item.event > .content { margin-left: 44px; }
  .repository.view.issue .comment-list .timeline-item.commits-list { margin-left: 16px; padding-left: 0; }
  .repository.view.issue .comment-list .commits-list > .flex-text-block { flex-wrap: wrap; gap: 6px 10px; padding-bottom: 10px; }
  .repository.view.issue .comment-list .commits-list > .flex-text-block > .flex-text-block:last-child { margin-left: auto; }
  .repository.view.issue .comment-header { padding: 12px 14px; }
  .repository.view.issue .comment-body.ui.segment { padding: 18px; }
  .repository.view.issue .comment-header .inline-timeline-avatar { display: inline-flex; }
  .repository .issue-content-right { border-top: 1px solid var(--glutea-line); padding-top: 24px; }
  .repository.view.issue .comment-list::before { display: none; }
  .repository.view.issue .comment-list .timeline-item.comment > .content { margin-left: 0; }
  .repository.view.issue .comment-list .timeline-item .timeline-avatar { display: none; }
  .repository.view.issue .comment-list .timeline-item .inline-timeline-avatar { display: inline-flex; }
  .repository #repo-files-table .repo-file-cell.message { display: none; }
  .repository #repo-files-table { grid-template-columns: minmax(0, 1fr) auto; }
  .repository #repo-files-table .repo-file-line { grid-column: 1 / -1; flex-wrap: wrap; }
  .repository #repo-files-table .repo-file-cell { min-width: 0; }
  .repository #repo-files-table .repo-file-cell.name { grid-column: 1; max-width: none; }
  .repository #repo-files-table .repo-file-cell.age { grid-column: 2; }
  .repository #repo-files-table .repo-file-cell.name a { overflow-wrap: anywhere; }
  .page-content .action-view-left { width: 100%; position: static; }
  .page-content .action-view-body { flex-direction: column; }
  #repo-action-view > .ui.fluid.container { padding: 0 16px; margin: 0 !important; }
  #repo-action-view .action-info-summary-title { font-size: 26px; }
  #issue-list > .item { padding: 16px 12px; gap: 10px; flex-wrap: wrap; }
  #issue-list .item-main { flex-basis: calc(100% - 120px); }
  #issue-list .item-trailing { margin-left: auto; }
  #issue-list .labels-list { display: flex; margin: 6px 0 0; }
  #issue-list .list-item-large-title { font-size: 14px; }
  .glutea-list-pill .glutea-pill-number { padding-left: 7px; padding-right: 6px; }
  .glutea-list-pill .glutea-pill-state { padding: 0 6px; }
  .repository #release-list .release-entry { flex-direction: column; gap: 12px; }
  .repository #release-list .release-entry > .meta { width: auto; padding: 0; }
  .repository #release-list .detail { width: 100%; padding: 20px; }
  .repository.wiki .wiki-content-main { padding: 20px; }
  .repository.wiki.view .wiki-content-parts, .repository.wiki.view .wiki-content-parts:not(:has(.wiki-content-toc)) { display: flex; flex-direction: column; }
  .repository.wiki.view .wiki-content-main, .repository.wiki.view .wiki-content-toc { width: 100%; padding: 20px; }
  .glutea-wiki-pages { display: none; }
  .repository.new-repo .ui.form > .ui.segment, .repository.new-repo .ui.form > .ui.header { padding: 22px; }
  .repository.new-repo > .ui.container > .ui.segment { padding: 22px; }
  .repository.new-repo .new-repo-form.ui.form .inline.field { display: flex; flex-direction: column; align-items: stretch; }
  .repository.new-repo .new-repo-form.ui.form .inline.field > label { padding-top: 0; margin-bottom: 9px; }
  .repository.new-repo .new-repo-form.ui.form .inline.field > .ui.checkbox { margin-top: 0; }
  .repository #readme.non-diff-file-content:has(.file-view.markup) .file-header.ui.header { padding: 20px 20px 0 !important; }
  .repository #readme.non-diff-file-content:has(.file-view.markup) .file-view.markup { padding: 12px 20px 20px; }
  #notification_table .notifications-item { padding: 16px; gap: 10px; flex-wrap: wrap; }
  #notification_table .notifications-updated { margin-left: 26px; }
  .page-footer { padding: 20px 16px; flex-wrap: wrap; gap: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Native run headings set their own font size inside the title wrapper. */
#repo-action-view .action-info-summary-title-text,
#repo-action-view .action-info-summary-title-index { font-size: inherit; line-height: 1.2; }
#repo-action-view .action-view-right { border-radius: 18px; overflow: hidden; }

/* File browsing: reference rail widths, readable code, and full-size controls. */
.repository .repo-view-container { gap: 28px; }
.repository .repo-view-file-tree-container { flex-basis: 280px; }
.repository .repo-view-container #repo-file-commit-box { min-height: 56px; border: 1px solid var(--glutea-line); border-radius: 18px; padding: 14px 18px; }
.repository .repo-view-container .non-diff-file-content .file-header.ui.header { min-height: 62px; padding: 10px 18px !important; }
.repository .repo-view-container .file-header .file-header-left { padding-block: 0 !important; }
.repository .repo-view-container .file-header .ui.mini.button { min-height: 40px; padding: 0 14px; font-size: 13px; }
.repository .repo-view-container .file-header .btn-octicon { color: var(--glutea-muted); }
.repository .repo-view-container .file-header .btn-octicon:hover { color: var(--color-text); }
.repository .repo-view-container .file-view.code-view :is(.lines-code, .lines-num) { font-size: 13px; line-height: 23px; }
.repository .repo-view-container .file-view.code-view { padding-block: 12px; }
.repository .view-file-tree-items .tree-item { border-radius: 11px; font-size: 13px; gap: 8px; }
.repository .view-file-tree-items .tree-item .item-content { gap: 8px; }
.repository .view-file-tree-items .tree-item.type-file .item-content { font-family: var(--fonts-monospace); }
.repository .view-file-tree-items .tree-item.type-directory .item-content .svg { color: var(--glutea-accent-secondary); }
.repository #diff-file-tree { flex-basis: 260px; }
.repository .diff-detail-box .ui.tiny.basic.button,
.repository .diff-detail-box .ui.tiny.primary.button { min-height: 38px; padding: 0 14px; font-size: 13px; }
@media (max-width: 1100px) and (min-width: 768px) {
  .repository .repo-view-file-tree-container { flex-basis: 240px; }
  .repository #diff-file-tree { flex-basis: 220px; }
}
@media (max-width: 767.98px) {
  .repository .repo-view-container .file-header .ui.mini.button { padding-inline: 10px; }
}

/* Global milestones: the reference's 280 px filter rail and one divided card. */
.page-content.dashboard.milestones > .ui.container > .flex-container { gap: 28px; }
.page-content.dashboard.milestones .flex-container-nav { flex: 0 0 280px; }
.page-content.dashboard.milestones .flex-container-nav .ui.vertical.menu > .item { min-height: 44px; margin: 0 0 4px; padding: 12px 14px; border-radius: 12px; font-size: 14px; font-weight: 400; }
/* Gitea marks every included repository active; when all are included, avoid
   presenting every row as the current destination. Partial selections retain
   their native active indication and all native click behavior. */
.page-content.dashboard.milestones .flex-container-nav .menu:not(:has(> .repo:not(.active))) > .repo.active { background: transparent; font-weight: 400; }
.page-content.dashboard.milestones .flex-container-nav .menu > .repo:hover { background: var(--color-hover); }
.page-content.dashboard.milestones .flex-container-nav .repo .label { min-width: 22px; min-height: 22px; display: inline-grid; place-items: center; padding: 2px 6px; border-radius: 999px; background: var(--glutea-accent); color: #fff; font: 11px var(--fonts-monospace); }
.page-content.dashboard.milestones .list-header { gap: 10px; margin-bottom: 18px; }
.page-content.dashboard.milestones .list-header-toggle { height: 44px; margin: 0; padding: 0; border: 1px solid var(--glutea-line); border-radius: 12px; box-shadow: none; overflow: hidden; }
.page-content.dashboard.milestones .list-header-toggle > .item { min-height: 42px; padding: 0 17px; border-radius: 0; font-size: 14px; font-weight: 600; }
.page-content.dashboard.milestones .list-header-search .input > input,
.page-content.dashboard.milestones .list-header-search .input > button { min-height: 44px; }
.page-content.dashboard.milestones .list-header-search .input > input { border-radius: 12px 0 0 12px; background: var(--glutea-card-bg); border-color: var(--glutea-line); padding-inline: 16px; font-size: 14.5px; }
.page-content.dashboard.milestones .list-header-search .input > button { min-width: 48px; border-radius: 0 12px 12px 0; border-color: var(--glutea-line); }
.page-content.dashboard.milestones .list-header-filters > .item { min-height: 44px; padding: 0 16px; background: var(--glutea-card-bg); border: 1px solid var(--glutea-line); border-radius: 12px; }
.page-content.dashboard.milestones .flex-container-main > .flex-divided-list { background: var(--glutea-card-bg); border: 1px solid var(--glutea-line); border-radius: 18px; box-shadow: var(--glutea-card-shadow); backdrop-filter: var(--glutea-card-blur); overflow: hidden; }
.page-content.dashboard.milestones .flex-container-main > .flex-divided-list > .item { padding: 20px 24px; margin: 0; gap: 8px; border-color: var(--glutea-line); }
.page-content.dashboard.milestones .list-item-large-title { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; font-size: 18px; line-height: 1.35; }
.page-content.dashboard.milestones .list-item-large-title > .ui.label { font: 12px var(--fonts-monospace); border-radius: 6px; padding: 4px 9px; margin: 0; background: var(--color-active); }
.page-content.dashboard.milestones .list-item-large-title > .svg { color: var(--color-text-light-2); }
.page-content.dashboard.milestones .list-item-title-progress { width: 244px; height: 10px; border-radius: 999px; overflow: hidden; appearance: none; background: var(--color-active); }
.page-content.dashboard.milestones .list-item-title-progress::-webkit-progress-bar { background: var(--color-active); border-radius: 999px; }
.page-content.dashboard.milestones .list-item-title-progress::-webkit-progress-value { background: var(--glutea-accent); border-radius: 999px; }
.page-content.dashboard.milestones .list-item-title-progress::-moz-progress-bar { background: var(--glutea-accent); border-radius: 999px; }
.page-content.dashboard.milestones .flex-left-right > .flex-text-inline { gap: 12px; flex-shrink: 0; font: 13px var(--fonts-monospace); color: var(--color-text-light-2); }
.page-content.dashboard.milestones .list-item-secondary-bar { color: var(--color-text-light-2); font-size: 13.5px; }
.page-content.dashboard.milestones .list-item-secondary-bar > .flex-text-block { gap: 12px 18px; }
.page-content.dashboard.milestones .list-item-secondary-bar .flex-text-inline { gap: 6px; }
.page-content.dashboard.milestones .flex-divided-list .markup { font-size: 15px; line-height: 1.5; }
.page-content.dashboard.milestones .flex-divided-list .markup p { margin: 0; }
@media (max-width: 1100px) {
  .page-content.dashboard.milestones .flex-container-nav { flex-basis: 240px; }
  .page-content.dashboard.milestones .list-item-title-progress { width: 160px; }
}
@media (max-width: 767.98px) {
  .page-content.dashboard.milestones .flex-container-nav { flex: none; }
  .page-content.dashboard.milestones .flex-container-main > .flex-divided-list > .item { padding: 18px 16px; }
  .page-content.dashboard.milestones .flex-divided-list .flex-left-right { flex-wrap: wrap; gap: 12px; }
  .page-content.dashboard.milestones .list-item-large-title { min-width: 0; font-size: 17px; }
  .page-content.dashboard.milestones .list-item-large-title > .ui.label { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
  .page-content.dashboard.milestones .list-item-title-progress { width: min(244px, 50vw); }
  .page-content.dashboard.milestones .list-header-toggle > .item { padding-inline: 12px; }
}

/* Wiki: one heading row, persistent native page selector, and three reading columns. */
.repository.wiki.view > .ui.container.glutea-wiki-layout { display: grid; grid-template-columns: 260px minmax(0, 1fr) 240px; gap: 20px; align-items: start; }
.repository.wiki.view .glutea-wiki-layout > .wiki-content-parts { display: contents; }
.repository.wiki.view .glutea-wiki-picker { grid-column: 1; grid-row: 1; margin: 0; min-width: 0; }
.repository.wiki.view .glutea-wiki-picker > .flex-text-block,
.repository.wiki.view .glutea-wiki-picker .ui.dropdown { width: 100%; min-width: 0; }
.repository.wiki.view .glutea-wiki-picker .ui.dropdown > .button { display: flex; justify-content: space-between; width: 100%; min-height: 40px; padding: 0 14px; border-radius: 12px; color: var(--color-text-light-2); background: var(--glutea-card-bg); border-color: var(--glutea-line); }
.repository.wiki.view .glutea-wiki-picker .ui.dropdown > .menu { min-width: 100%; max-width: min(320px, calc(100vw - 48px)); }
.repository.wiki.view > .ui.container.glutea-wiki-layout > .ui.dividing.header.glutea-wiki-header { grid-column: 2 / -1; grid-row: 1; border: 0; margin: 0 0 0 8px; padding: 0; }
.repository.wiki.view .glutea-wiki-header > .flex-text-block { gap: 16px; align-items: flex-end; }
.repository.wiki.view .glutea-wiki-identity { min-width: 0 !important; }
.repository.wiki.view > .ui.container.glutea-wiki-layout > .ui.dividing.header .glutea-wiki-title { overflow: visible; white-space: normal; font-size: 34px; font-weight: 600; line-height: 1.15; letter-spacing: -.035em; }
.repository.wiki.view > .ui.container.glutea-wiki-layout > .ui.dividing.header .glutea-wiki-subtitle.ui.sub.header { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; margin-top: 8px; font-size: 13.5px; line-height: 1.4; font-weight: 400; letter-spacing: 0; text-transform: none; white-space: normal; }
.repository.wiki.view .glutea-wiki-history.ui.button { min-height: 0; margin-left: 6px; padding: 0 0 0 10px !important; border: 0; border-left: 1px solid var(--glutea-line-strong); border-radius: 0; background: transparent; color: var(--color-primary); font-size: 13px; gap: 5px !important; }
.repository.wiki.view .glutea-wiki-actions { margin: 0; gap: 8px; }
.repository.wiki.view .glutea-wiki-actions .ui.button { min-height: 40px; padding: 0 16px; font-size: 14px; font-weight: 600; }
.repository.wiki.view .glutea-wiki-actions .js-btn-clone-panel { background: var(--glutea-card-bg); border: 1px solid var(--glutea-line); color: var(--color-text); }
.repository.wiki.view .glutea-wiki-actions .ui.red.button { background: var(--glutea-card-bg); border: 1px solid var(--glutea-line); color: var(--color-red); }
.repository.wiki.view .glutea-wiki-layout .glutea-wiki-pages { grid-column: 1; grid-row: 2; position: sticky; top: 88px; padding: 0; margin-top: -14px; }
.repository.wiki.view .glutea-wiki-layout .glutea-wiki-pages > a { display: flex; align-items: center; min-height: 38px; margin: 0 0 4px; padding: 9px 12px; border-radius: 11px; font-size: 14px; line-height: 1.3; color: var(--color-text); }
.repository.wiki.view .glutea-wiki-layout .glutea-wiki-pages > a:first-child { min-height: 24px; padding-top: 0; padding-bottom: 4px; font-size: 11.5px; letter-spacing: .07em; font-weight: 500; text-transform: uppercase; color: var(--color-text-light-2); }
.repository.wiki.view .glutea-wiki-layout .glutea-wiki-pages > a[aria-current="page"] { background: var(--color-active); font-weight: 600; }
.repository.wiki.view .glutea-wiki-layout .glutea-wiki-pages > a.glutea-wiki-new-page { justify-content: center; gap: 8px; margin-top: 24px; min-height: 40px; color: #fff; background: var(--glutea-accent); font-weight: 600; }
.repository.wiki.view .glutea-wiki-new-page::before { content: '+'; font-size: 20px; font-weight: 400; }
.repository.wiki.view .glutea-wiki-layout .wiki-content-main { grid-column: 2; grid-row: 2; width: auto; margin: 0 0 0 8px; padding: 32px; font-size: 15.5px; line-height: 1.75; }
.repository.wiki.view .glutea-wiki-layout .wiki-content-main h1 { margin: 0 0 16px; padding-bottom: 20px; border-bottom: 1px solid var(--glutea-line); font-size: 32px; line-height: 1.2; }
.repository.wiki.view .glutea-wiki-layout .wiki-content-main h2 { margin-top: 28px; font-size: 20px; }
.repository.wiki.view .glutea-wiki-layout .glutea-wiki-outline { grid-column: 3; grid-row: 2; display: grid; gap: 20px; position: sticky; top: 88px; min-width: 0; }
.repository.wiki.view .glutea-wiki-outline > .wiki-content-sidebar { grid-column: auto; grid-row: auto; width: 100%; min-width: 0; float: none; margin: 0; padding: 18px 20px; font-size: 13.5px; line-height: 1.7; border: 1px solid var(--glutea-line); border-radius: 18px; background: var(--glutea-card-bg); box-shadow: var(--glutea-card-shadow); backdrop-filter: var(--glutea-card-blur); }
.repository.wiki.view .glutea-wiki-outline .wiki-content-toc summary { font-weight: 600; color: var(--color-text); }
.repository.wiki.view .glutea-wiki-outline .wiki-content-toc ul { padding-left: 16px; margin-bottom: 0; }
.repository.wiki.view .glutea-wiki-outline .wiki-content-toc a { color: var(--color-text-light-2); }
.repository.wiki.view .glutea-wiki-layout .wiki-content-footer { grid-column: 2 / -1; margin-left: 8px; }
.repository.wiki.view .glutea-wiki-layout > .message { grid-column: 1 / -1; }
.repository.wiki.view .glutea-wiki-layout .wiki-content-parts > .tw-clear-both { display: none; }
@media (max-width: 1100px) {
  .repository.wiki.view > .ui.container.glutea-wiki-layout { grid-template-columns: 220px minmax(0, 1fr); }
  .repository.wiki.view .glutea-wiki-layout .glutea-wiki-outline { grid-column: 1; grid-row: 3; position: static; }
  .repository.wiki.view .glutea-wiki-layout .wiki-content-main { grid-column: 2; grid-row: 2 / 4; }
}
@media (max-width: 767.98px) {
  .repository.wiki.view > .ui.container.glutea-wiki-layout { display: flex; flex-direction: column; gap: 20px; }
  .repository.wiki.view .glutea-wiki-layout > *,
  .repository.wiki.view .glutea-wiki-layout .wiki-content-parts > * { width: 100%; }
  .repository.wiki.view > .ui.container.glutea-wiki-layout > .ui.dividing.header.glutea-wiki-header { margin-left: 0; }
  .repository.wiki.view .glutea-wiki-header > .flex-text-block { align-items: flex-start; flex-direction: column; }
  .repository.wiki.view > .ui.container.glutea-wiki-layout > .ui.dividing.header .glutea-wiki-title { font-size: 30px; }
  .repository.wiki.view .glutea-wiki-layout .glutea-wiki-pages { position: static; margin: 0; display: flex; flex-direction: row; flex-wrap: wrap; gap: 4px; }
  .repository.wiki.view .glutea-wiki-layout .glutea-wiki-pages > a.glutea-wiki-new-page { margin-top: 0; }
  .repository.wiki.view .glutea-wiki-layout .wiki-content-main { margin: 0; padding: 24px; font-size: 15px; }
  .repository.wiki.view .glutea-wiki-layout .glutea-wiki-outline { position: static; }
  .repository.wiki.view .glutea-wiki-layout .wiki-content-footer { margin-left: 0; }
}
/* Releases and tags: 42 px toolbar, 220 px metadata rail, compact notes. */
.repository:is(.releases, .tags) > .ui.container > .flex-text-block:has(.small-menu-items) { gap: 10px; flex-wrap: wrap; }
.repository:is(.releases, .tags) .small-menu-items.ui.menu { height: 42px; padding: 0; margin: 0; border: 1px solid var(--glutea-line); border-radius: 12px; box-shadow: none; overflow: hidden; }
.repository:is(.releases, .tags) .small-menu-items.ui.menu > .item { min-height: 40px; padding: 0 16px; gap: 8px; border-radius: 0; font-size: 14px; font-weight: 600; color: var(--glutea-muted); }
.repository:is(.releases, .tags) .small-menu-items.ui.menu > .active.item { color: var(--color-text); background: var(--color-active); }
.repository:is(.releases, .tags) .small-menu-items.ui.menu > .item + .item { border-left: 1px solid var(--glutea-line); }
.repository:is(.releases, .tags) .small-menu-items.ui.menu > .item::before { content: ''; position: static; display: block; width: 15px; height: 15px; flex: none; background: currentColor; mask: url('../img/lucide/rocket.svg') center / contain no-repeat; }
.repository:is(.releases, .tags) .small-menu-items.ui.menu > .item[href$='/tags']::before { mask-image: url('../img/lucide/tag.svg'); }
.repository:is(.releases, .tags) > .ui.container > .flex-text-block:has(.small-menu-items) > .ui.button { min-height: 42px; padding: 0 16px; border-radius: 12px; font-size: 14px; font-weight: 600; }
.repository:is(.releases, .tags) > .ui.container > .flex-text-block:has(.small-menu-items) + .divider { margin: 0; height: 28px; border: 0; }
.repository #release-list { margin: 0; }
.repository #release-list .detail { margin: 0; padding: 24px 28px; }
.repository #release-list .release-entry > .meta { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; font: 14px var(--fonts-regular); }
.repository #release-list .meta > a { display: inline-flex; align-items: center; gap: 8px; margin: 0; }
.repository #release-list .meta > a:first-child { font-weight: 600; color: var(--color-text); }
.repository #release-list .meta > a.tw-font-mono { font-size: 13px; }
.repository #release-list .meta > a > .svg { margin: 0; color: var(--glutea-muted); }
.repository #release-list .release-branch-tag-selector { margin-top: 6px; }
.repository #release-list .release-branch-tag-selector .branch-dropdown-button { min-height: 38px; padding: 0 14px; border-radius: 11px; font-size: 13.5px; font-weight: 600; }
.repository #release-list .release-list-title { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; line-height: 1.3; letter-spacing: -.03em; }
.repository #release-list .release-list-title > .ui.label { font-size: 12px; font-weight: 600; padding: 3px 10px; margin: 0; line-height: 1.2; }
.repository #release-list .detail > .flex-left-right { gap: 16px; margin-bottom: 0 !important; }
.repository #release-list .detail > .flex-left-right > div:last-child > a { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; color: var(--glutea-muted); }
.repository #release-list .detail > .flex-left-right > div:last-child > a:hover { background: var(--color-hover); }
.repository #release-list .detail > p { margin: 12px 0 20px; font-size: 14px; line-height: 1.6; color: var(--glutea-muted); }
.repository #release-list .author a { color: var(--color-text); font-weight: 600; }
.repository #release-list .author .avatar { width: 22px; height: 22px; border-radius: 7px; margin-right: 8px; }
.repository #release-list .render-content { font-size: 15px; line-height: 1.8 !important; }
.repository #release-list .render-content :is(h1, h2, h3, h4) { margin: 18px 0 10px; padding-bottom: 8px; border-bottom: 1px solid var(--glutea-line); font-weight: 600; letter-spacing: 0; line-height: 1.4; }
.repository #release-list .render-content h1 { font-size: 22px; }
.repository #release-list .render-content h2 { font-size: 17px; }
.repository #release-list .render-content :is(h3, h4) { font-size: 15px; }
.repository #release-list .render-content > :first-child { margin-top: 0; }
.repository #release-list .render-content :is(ul, ol) { margin: 0 0 18px; padding-left: 22px; }
.repository #release-list .render-content ul { list-style-type: disc; }
.repository #release-list .render-content li + li { margin-top: 0; }
.repository #release-list .render-content pre { padding: 14px 16px; border-radius: 12px; font-size: 13px; }
.repository #release-list .detail > .divider { margin: 20px 0 16px; border-color: var(--glutea-line); }
.repository #release-list .download { padding-top: 0; }
.repository #release-list .download > summary { display: flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 600; cursor: pointer; list-style: none; }
.repository #release-list .download > summary::-webkit-details-marker { display: none; }
.repository #release-list .download > summary::before { content: ''; width: 14px; height: 14px; flex: none; background: currentColor; mask: url('../img/lucide/chevron-down.svg') center / contain no-repeat; transform: rotate(-90deg); }
.repository #release-list .download[open] > summary::before { transform: none; }
.repository #release-list .download .attachment-list { margin: 12px 0 0; border: 1px solid var(--glutea-line); border-radius: 12px; overflow: hidden; }
.repository #release-list .download .item { min-height: 44px; padding: 12px 16px; border-color: var(--glutea-line); font-size: 14.5px; }
.repository #release-list .download .item:hover { background: var(--color-hover); }
.repository #release-list .download .item strong { font-weight: 600; gap: 10px; }
.repository #release-list .download .download-icon { color: inherit; }
.repository #release-list .attachment-right-info { font-size: 12px; color: var(--glutea-muted); }
.repository.tags > .ui.container > .ui.top.attached.header { padding: 18px 22px; font-size: 17px; font-weight: 600; }
.repository.tags > .ui.container > .ui.attached.segment:has(form) { padding: 14px 22px; }
.repository.tags form .ui.input > input { min-height: 42px; padding: 0 14px; background: var(--color-body); border-color: var(--glutea-line); font-size: 14px; }
.repository.tags form .ui.input > button { width: 44px; min-height: 42px; border-color: var(--glutea-line); }
.repository.tags #tags-table > .tag-list-row { padding: 18px 22px !important; border-color: var(--glutea-line); }
.repository.tags #tags-table .tag-list-row-title { margin: 0 0 10px !important; font-size: 20px; font-weight: 600; letter-spacing: -.02em; }
.repository.tags .tag-list-row-link { font-size: inherit; font-weight: inherit; }
.repository.tags .tag-list-row > .flex-text-block { gap: 10px 18px !important; font-size: 14px; color: var(--glutea-muted); }
.repository.tags .tag-list-row .tw-font-mono { font-size: 13px; }
.repository.tags .tag-list-row a:not(.tag-list-row-link, .tw-font-mono) { color: var(--color-text); font-weight: 500; }
.repository.tags .tag-list-row a.link-action { color: var(--glutea-delete); }
@media (max-width: 767.98px) {
  .repository:is(.releases, .tags) > .ui.container > .flex-text-block:has(.small-menu-items) > div:first-child { flex: 1 0 100% !important; }
  .repository #release-list .release-entry > .meta { flex-direction: row; justify-content: flex-start; align-items: center; flex-wrap: wrap; gap: 10px 16px; }
  .repository #release-list .release-branch-tag-selector { margin-top: 0; }
  .repository #release-list .detail { padding: 20px; }
  .repository #release-list .release-list-title { font-size: 26px; }
  .repository #release-list .download .item { flex-wrap: wrap; gap: 8px; }
  .repository #release-list .release-entry .attachment-list .attachment-right-info { min-width: 0; width: calc(100% - 26px); margin-left: 26px; flex-wrap: wrap; }
  .repository #release-list .attachment-right-info > span { padding-left: 0 !important; }
  .repository.tags > .ui.container > .ui.top.attached.header,
  .repository.tags #tags-table > .tag-list-row { padding: 18px 16px !important; }
  .repository.tags > .ui.container > .ui.attached.segment:has(form) { padding: 14px 16px; }
}
/* Secondary repository views: native wrappers differ from their tab names. */
.repository.commits > .flex-container:has(.activity-header) > .flex-container-nav { flex: 0 0 240px; }
.repository.commits .ui.header.activity-header { margin: 0 0 24px; font-size: 30px; font-weight: 600; letter-spacing: -.03em; }
.repository.actions .glutea-workflows-heading { margin: 6px 14px 12px; color: var(--glutea-muted); font-size: 11.5px; line-height: 13px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; }
.repository.actions .glutea-workflows-heading + .ui.vertical.menu { margin-top: 8px; }
.repository.actions .flex-container-nav .ui.vertical.menu a.item { display: flex; align-items: center; gap: 10px; padding-block: 11.5px; }
.repository.actions .flex-container-nav .ui.vertical.menu a.item::before { content: ''; position: static; display: block; flex: 0 0 14px; width: 14px; height: 14px; background: currentColor; mask: url('../img/lucide/file-code.svg') center / contain no-repeat; }
.repository.actions .flex-container-nav .ui.vertical.menu > a.item:first-child::before { display: block !important; mask-image: url('../img/lucide/play.svg'); }
.repository.actions .flex-container-main > .ui.top.attached.header { margin-inline: 0; width: auto; padding: 0 22px; min-height: 54px; }
.repository.actions .run-list > .item { min-height: 68px; padding: 13px 22px !important; gap: 20px; }
.repository.actions .run-list .item-leading .svg { width: 22px; height: 22px; }
.repository.actions .run-list .item-main { gap: 2px; }
.repository.actions .run-list .item-title { line-height: 20px; }
.repository.actions .run-list .item-body { line-height: 18px; }
.repository.actions .run-list .run-list-meta { line-height: 18px; }
.repository.actions .run-list .run-list-item-right { gap: 2px; }
.repository #readme .file-header-left { padding-block: 0 !important; font-size: 11.5px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--glutea-muted); }
.repository #readme .file-header-left strong { font-weight: inherit; }
.repository #readme .file-header-left a { color: inherit; }
.repository.view.issue:has(.ui.pull.tabs) .issue-title-header { margin-bottom: 28px; }
.repository.view.issue .ui.pull.tabs.container { margin-bottom: 28px; }
.repository.view.issue .ui.pull.tabular.menu { min-height: 41px; }
.repository.view.issue .ui.pull.tabs.container > .ui.pull.tabular.menu > .item { padding: 10px 14px !important; margin-bottom: -1px; }
@media (max-width: 767.98px) {
  .repository.actions .flex-container-nav { flex: none; }
  .repository.commits > .flex-container:has(.activity-header) > .flex-container-nav { flex: none; }
  .repository.commits .ui.header.activity-header { font-size: 26px; }
  .repository.actions .flex-container-main > .ui.top.attached.header { padding: 10px 16px; }
  .repository.actions .run-list > .item { padding-inline: 16px !important; }
}
/* Notification inbox: a centered reading column and compact divided rows. */
#notification_div > .ui.container { max-width: 1064px; margin-top: 0; }
#notification_div .glutea-page-heading { margin: 0; font-size: clamp(30px, 4vw, 44px); font-weight: 600; line-height: 1.05; }
#notification_div .glutea-notification-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 16px; margin-bottom: 28px; }
#notification_div .glutea-notification-heading form { grid-column: 2; grid-row: 1 / 3; align-self: end; }
#notification_div .glutea-notification-heading .ui.button { min-height: 40px; padding: 0 16px; font-size: 14px; background: var(--glutea-card-bg); border: 1px solid var(--glutea-line); color: var(--color-text); }
#notification_div .glutea-page-description { grid-column: 1; margin: 12px 0 0; font-size: 16px; line-height: 1.2; color: var(--glutea-muted); }
#notification_div > .ui.container > .flex-left-right { margin-bottom: 16px !important; gap: 12px; }
#notification_div .small-menu-items.ui.menu { padding: 0; margin: 0; min-height: 42px; border: 1px solid var(--glutea-line); border-radius: 12px; overflow: hidden; box-shadow: none; }
#notification_div .small-menu-items.ui.menu > .item { padding: 0 16px !important; min-height: 40px; border-radius: 0; font-size: 14px; font-weight: 600; gap: 8px; }
#notification_div .small-menu-items.ui.menu > .active.item { background: var(--color-active) !important; }
#notification_div .notifications-unread-count.ui.label { background: var(--glutea-accent); color: #fff; }
#notification_div #notification_table .notifications-item { min-height: 68px; padding: 14px 22px; gap: 14px; }
#notification_div #notification_table .notifications-item + .notifications-item { border-top: 1px solid var(--glutea-line); }
#notification_div .notifications-link { min-width: 0; }
#notification_div #notification_table .notifications-link > :first-child { margin-bottom: 4px; line-height: 14px; }
#notification_div #notification_table .notifications-link > :last-child { padding-block: 0 !important; font-size: 15px; line-height: 21px; }
#notification_div #notification_table .notifications-updated { display: flex; flex-shrink: 0; }
#notification_div #notification_table .notifications-buttons { display: flex; align-items: center; justify-content: end; gap: 4px; }
#notification_div .notifications-buttons button { color: var(--glutea-muted); }
#notification_div .notifications-buttons button[value="pin"] { order: 1; }
@media (max-width: 767.98px) {
  #notification_div .glutea-notification-heading { grid-template-columns: minmax(0, 1fr); }
  #notification_div .glutea-notification-heading form { grid-column: 1; grid-row: 3; margin-top: 16px; }
  #notification_div .notifications-buttons { margin-left: auto; }
  #notification_div #notification_table .notifications-item { padding: 14px 16px; gap: 10px; }
  #notification_div .notifications-link { flex: 1 0 calc(100% - 38px) !important; }
  #notification_div #notification_table .notifications-updated { margin-left: 26px; }
}

/* Explore: reference navigation, 44px search controls, and 134px repository rows. */
.page-content.explore > overflow-menu.secondary-nav { min-height: 54px; padding: 8px max(32px, calc((100% - 1216px) / 2)); margin: 0 0 40px !important; border: 0; background: var(--glutea-bg-secondary); }
.page-content.explore > overflow-menu.secondary-nav .overflow-menu-items { justify-content: flex-start !important; gap: 0; }
.page-content.explore > overflow-menu.secondary-nav .overflow-menu-items > .item { min-height: 36px; padding: 9px 14px !important; margin: 0 6px 0 0; border: 0; border-radius: 10px !important; font-size: 14px; line-height: 18px; }
.page-content.explore > overflow-menu.secondary-nav .overflow-menu-items > .active.item { background: var(--color-active); color: var(--color-text); }
.page-content.explore > .ui.container { margin-top: 0; }
.page-content.explore.repositories .glutea-page-heading { margin: 0; font-size: clamp(30px, 4vw, 44px); line-height: 1.05; }
.page-content.explore .glutea-explore-description { margin: 12px 0 24px; font-size: 16px; line-height: 1.5; color: var(--glutea-muted); }
.explore.repositories > .ui.container > .ui.filter.menu { margin: 0 0 24px; padding: 0; }
.explore.repositories .filter.menu > form { gap: 10px; }
.explore.repositories .filter.menu .ui.action.input { min-height: 44px; }
.explore.repositories .filter.menu .ui.action.input > input { min-height: 44px; padding: 0 14px; font-size: 14px; }
.explore.repositories .filter.menu .ui.action.input > button { min-height: 44px; width: 48px; }
.explore.repositories .filter.menu > form > .ui.dropdown { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; margin: 0; padding: 0 16px; border: 1px solid var(--glutea-line); border-radius: 12px; background: var(--glutea-card-bg); font-size: 14px; }
.explore.repositories > .ui.container > .filter.menu + .divider { display: none; }
.explore.repositories > .ui.container > .flex-divided-list.items-with-main { margin-top: 0; }
.explore.repositories .flex-divided-list.items-with-main > .item { min-height: 134px; padding: 22px 24px !important; gap: 18px; }
.explore.repositories .flex-divided-list.items-with-main .item-leading { width: 52px; flex: none; }
.explore.repositories .flex-divided-list.items-with-main .item-leading img.ui.avatar { width: 52px; height: 52px; border-radius: 14px; }
/* Keep Gitea's default repository symbol when no actual custom avatar exists. */
.explore.repositories .flex-divided-list.items-with-main .item-leading img[src$='/repo_default.png'] { padding: 13px; background: var(--color-active); }
.explore.repositories .flex-divided-list.items-with-main .item-main { min-width: 0; gap: 8px; }
.explore.repositories .flex-divided-list.items-with-main .item-title { gap: 0; font-size: 20px; line-height: 24px; font-weight: 600; letter-spacing: -.02em; }
.explore.repositories .flex-divided-list.items-with-main .item-title > .name { color: var(--color-text) !important; }
.explore.repositories .flex-divided-list.items-with-main .item-title > .name:first-child:not(:last-of-type) { color: var(--glutea-muted) !important; font-weight: 400; }
.explore.repositories .flex-divided-list.items-with-main .item-body { font-size: 15px; line-height: 22px; }
.explore.repositories .flex-divided-list.items-with-main .item-trailing { font-size: 13px; color: var(--glutea-muted); gap: 14px; }
.explore.repositories .flex-divided-list.items-with-main .item-trailing a { color: inherit; }
.explore.repositories .flex-divided-list.items-with-main .item-trailing svg { width: 14px; height: 14px; }
.explore.repositories .glutea-explore-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.explore.repositories .flex-divided-list.items-with-main .glutea-explore-meta .item-body { font-size: 13px; line-height: 20px; color: var(--glutea-faint); }
.explore.repositories .glutea-explore-meta .label-list { margin: 0; }
.explore.repositories .glutea-explore-meta .label-list .ui.label { font-size: 13px; font-weight: 500; padding: 4px 10px; }
@media(max-width:767.98px) {
  .page-content.explore > overflow-menu.secondary-nav { padding-inline: 16px; margin-bottom: 28px !important; }
  .explore.repositories .filter.menu .ui.action.input { flex-basis: 100% !important; }
  .explore.repositories .filter.menu > form > .ui.dropdown { flex: 1; }
  .explore.repositories .flex-divided-list.items-with-main > .item { padding: 20px 16px !important; gap: 14px; }
  .explore.repositories .flex-divided-list.items-with-main .item-leading { width: 44px; }
  .explore.repositories .flex-divided-list.items-with-main .item-leading img.ui.avatar { width: 44px; height: 44px; border-radius: 12px; }
  .explore.repositories .flex-divided-list.items-with-main .item-title { font-size: 18px; overflow-wrap: anywhere; }
  .explore.repositories .flex-divided-list.items-with-main .item-header { flex-wrap: wrap; gap: 10px; }
  .explore.repositories .flex-divided-list.items-with-main .item-trailing { flex-wrap: wrap; gap: 8px 12px; }
}

/* Native compact/secondary variants otherwise override these reference sizes. */
#repo-action-view .action-view-header .ui.button { min-height: 40px; padding: 0 16px; font-size: 14px; }
.dashboard.issues .flex-container-nav .ui.secondary.vertical.menu > .item { border-radius: 12px !important; }
@media (min-width: 768px) {
  #repo-action-view .action-view-left { width: 280px; }
}

/* PR commit history: retain the native table/links, add the reference date rail. */
.repository.view.issue .glutea-pr-commits.commit-table.ui.attached.segment { position: relative; overflow: visible; margin: 0; width: 100%; max-width: 100%; }
.repository.view.issue .glutea-pr-commits::before { content: ''; position: absolute; left: 20px; top: 0; bottom: 16px; width: 2px; background: var(--glutea-line-strong); }
.repository.view.issue .glutea-pr-commits #commits-table { width: calc(100% - 60px); margin: 0 0 0 60px; overflow: visible; table-layout: fixed; }
.repository.view.issue .glutea-pr-commits #commits-table .commit-list { overflow: visible; }
.repository.view.issue .glutea-pr-commits #commits-table .glutea-commit-date > td { position: relative; padding: 32px 0 12px; color: var(--color-text); font-size: 14px; line-height: 20px; font-weight: 600; }
.repository.view.issue .glutea-pr-commits #commits-table .glutea-commit-date:first-child > td { padding-top: 0; }
.repository.view.issue .glutea-pr-commits #commits-table .glutea-commit-date > td::before { content: ''; position: absolute; left: -56px; bottom: 4px; width: 32px; height: 32px; border-radius: 10px; border: 1px solid var(--glutea-line-strong); background: var(--glutea-surface-raised); }
.repository.view.issue .glutea-pr-commits #commits-table .glutea-commit-date > td::after { content: ''; position: absolute; left: -47px; bottom: 13px; width: 14px; height: 14px; background: var(--glutea-muted); mask: url('../img/lucide/git-commit-horizontal.svg') center/contain no-repeat; transform: rotate(90deg); }
.repository.view.issue .glutea-pr-commits .glutea-pr-commits-total.ui.header { position: absolute; right: 0; top: 0; width: auto; margin: 0; padding: 0; min-height: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; font-size: 13px; font-weight: 400; color: var(--glutea-muted); }
.repository.view.issue .glutea-pr-commits #commits-table .glutea-commit-row { height: 58px; }
.repository.view.issue .glutea-pr-commits #commits-table .glutea-commit-row > td { padding: 14px 18px; font-size: 13px; }
.repository.view.issue .glutea-pr-commits #commits-table .author, .glutea-pr-commit-columns col:first-child { width: 196px; }
.repository.view.issue .glutea-pr-commits #commits-table .sha, .glutea-pr-commit-columns col:nth-child(2), .glutea-pr-commit-columns col:nth-child(4) { width: 136px; }
.repository.view.issue .glutea-pr-commits #commits-table .message { width: auto; }
.repository.view.issue .glutea-pr-commits #commits-table td:nth-child(4) { width: 136px; color: var(--glutea-faint); }
.repository.view.issue .glutea-pr-commits #commits-table td:nth-child(5), .glutea-pr-commit-columns col:nth-child(5) { width: 94px; }
.repository.view.issue .glutea-pr-commits .avatar-stack-names { gap: 10px; }
.repository.view.issue .glutea-pr-commits .avatar-stack img.ui.avatar { width: 26px; height: 26px; border-radius: 8px; }
.repository.view.issue .glutea-pr-commits #commits-table .ui.label.commit-id-short { padding: 0; border: 0; background: transparent; color: var(--glutea-muted); font-size: 12.5px; font-weight: 400; box-shadow: none; }
.repository.view.issue .glutea-pr-commits .copy-commit-id,
.repository.view.issue .glutea-pr-commits .view-commit-path { color: var(--glutea-faint); }
@media(max-width:767.98px) {
  .glutea-pr-commit-columns { display: none; }
  .repository.view.issue .glutea-pr-commits #commits-table .glutea-commit-row .sha { display: block !important; }
  .repository.view.issue .glutea-pr-commits .avatar-stack-names { width: auto; max-width: 100%; white-space: normal; }
  .repository.view.issue .glutea-pr-commits .avatar-stack-names > a { white-space: normal; overflow: visible; text-overflow: clip; }
  .repository.view.issue .glutea-pr-commits::before { left: 12px; }
  .repository.view.issue .glutea-pr-commits #commits-table { width: calc(100% - 36px); margin-left: 36px; table-layout: auto; }
  .repository.view.issue .glutea-pr-commits #commits-table tbody { display: block; }
  .repository.view.issue .glutea-pr-commits #commits-table .glutea-commit-date { display: block; }
  .repository.view.issue .glutea-pr-commits #commits-table .glutea-commit-date > td { display: block; width: 100%; font-size: 13px; }
  .repository.view.issue .glutea-pr-commits #commits-table .glutea-commit-date > td::before { left: -36px; width: 26px; height: 26px; bottom: 8px; border-radius: 8px; }
  .repository.view.issue .glutea-pr-commits #commits-table .glutea-commit-date > td::after { left: -30px; bottom: 14px; }
  .repository.view.issue .glutea-pr-commits #commits-table .glutea-commit-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; height: auto; padding: 8px 0; border: 1px solid var(--glutea-line); background: var(--glutea-card-bg); }
  .repository.view.issue .glutea-pr-commits #commits-table .glutea-commit-row > td { display: block; width: auto; padding: 6px 12px; border: 0; border-radius: 0; background: transparent; }
  .repository.view.issue .glutea-pr-commits #commits-table .glutea-commit-row .author { font-size: 12px; }
  .repository.view.issue .glutea-pr-commits #commits-table .glutea-commit-row .message { grid-column: 1 / -1; overflow-wrap: anywhere; }
  .repository.view.issue .glutea-pr-commits #commits-table .glutea-commit-date + .glutea-commit-row { border-radius: 14px 14px 0 0; }
  .repository.view.issue .glutea-pr-commits #commits-table .glutea-commit-last { border-radius: 0 0 14px 14px; }
  .repository.view.issue .glutea-pr-commits #commits-table .glutea-commit-date + .glutea-commit-last { border-radius: 14px; }
}

/* Repository history: compact navigation, one search toolbar, message-led rows.
   Pull-request commit tables retain their separate layout above. */
.glutea-commit-history .glutea-commit-navigation { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; margin-bottom: 24px; }
.glutea-commit-history .repository-summary.ui.segments { flex: 0 1 auto; min-width: 0; margin: 0 !important; }
.glutea-commit-history .repository-summary .repository-menu.ui.segment { display: flex; flex-wrap: wrap; width: auto; gap: 6px; border: 0; border-radius: 0; padding: 0; background: transparent; }
.glutea-commit-history .repository-summary .repository-menu > .item { display: inline-flex; flex: 0 0 auto; width: auto; min-height: 36px; align-items: center; gap: 5px; padding: 7px 10px; border: 0; border-radius: 8px; background: transparent; font-size: 13px; }
.glutea-commit-history .repository-summary .repository-menu > .active.item { background: var(--color-active); color: var(--color-text); }
.glutea-commit-history .glutea-commit-navigation .repo-button-row { margin: 0; }
.glutea-commit-history .glutea-commit-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px; margin-bottom: 8px; }
.glutea-commit-history .glutea-commit-toolbar:has(.ui.dropdown.active) { position: relative; z-index: 1; }
.glutea-commit-history .glutea-commit-navigation:has(.ui.dropdown.active, [aria-expanded='true']) { position: relative; z-index: 2; }
.glutea-commit-history .commit-table.ui.segment, .glutea-commit-history .glutea-commit-search.ui.segment { backdrop-filter: none; }
.glutea-commit-history .glutea-commit-toolbar > .glutea-commit-heading.ui.header { display: flex; flex: 1 1 220px; flex-wrap: wrap; gap: 12px; width: auto; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; font-size: 24px; font-weight: 600; letter-spacing: -.025em; }
.glutea-commit-history .glutea-commit-toolbar > .glutea-commit-search.ui.segment { flex: 0 1 480px; min-width: 0; width: auto; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.glutea-commit-history .glutea-commit-search .ui.action.input { min-height: 40px; }
.glutea-commit-history .glutea-commit-search .ui.action.input > input { min-width: 0; padding: 8px 12px; font-size: 13px; }
.glutea-commit-history .glutea-commit-search .ui.action.input > .ui.dropdown { min-width: 120px; padding: 8px 10px; font-size: 13px; }
.glutea-commit-history .glutea-commit-search .ui.action.input > button { min-height: 40px; padding: 8px 12px; }
.glutea-commit-history #commits-table, .glutea-commit-history #commits-table > tbody { display: block; width: 100%; }
.glutea-commit-history #commits-table .glutea-commit-date { display: block; border: 0; box-shadow: none; }
.glutea-commit-history #commits-table .glutea-commit-date > td { display: block; padding: 20px 0 10px; font-size: 13px; }
.glutea-commit-history #commits-table .glutea-commit-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; grid-template-areas: 'message hash actions' 'author date date'; align-items: start; gap: 6px 14px; padding: 14px 18px; border: 1px solid var(--glutea-line); border-bottom: 0; background: var(--glutea-card-bg); }
.glutea-commit-history #commits-table .glutea-commit-row > td { display: block; min-width: 0; width: auto; padding: 0; border: 0; border-radius: 0; background: transparent; }
.glutea-commit-history #commits-table .glutea-commit-row > td:is(:first-child, :last-child) { border: 0; border-radius: 0; }
.glutea-commit-history #commits-table .glutea-commit-row:hover { background: var(--color-hover); }
.glutea-commit-history #commits-table .glutea-commit-row:hover > td { background: transparent; }
.glutea-commit-history #commits-table .glutea-commit-date + .glutea-commit-row { border-radius: 12px 12px 0 0; }
.glutea-commit-history #commits-table .glutea-commit-last { border-bottom: 1px solid var(--glutea-line); border-radius: 0 0 12px 12px; }
.glutea-commit-history #commits-table .glutea-commit-date + .glutea-commit-last { border-radius: 12px; }
.glutea-commit-history #commits-table .glutea-commit-row > .message { grid-area: message; font-size: 14px; line-height: 22px; }
.glutea-commit-history #commits-table .message-wrapper, .glutea-commit-history #commits-table .commit-summary { white-space: normal; overflow-wrap: anywhere; }
.glutea-commit-history #commits-table .commit-summary a { font-weight: 500; color: var(--color-text); }
.glutea-commit-history #commits-table .glutea-commit-row > .sha { grid-area: hash; }
.glutea-commit-history #commits-table .sha .commit-id-short { padding: 4px 7px; border: 1px solid var(--glutea-line); border-radius: 6px; background: transparent; font-size: 12px; font-weight: 400; }
.glutea-commit-history #commits-table .glutea-commit-row > .author { grid-area: author; color: var(--glutea-muted); font-size: 12px; }
.glutea-commit-history #commits-table .author .avatar-stack-names { width: auto; max-width: 100%; gap: 8px; }
.glutea-commit-history #commits-table .author img.ui.avatar { width: 20px; height: 20px; border-radius: 6px; }
.glutea-commit-history #commits-table .glutea-commit-row > td:nth-child(4) { grid-area: date; color: var(--glutea-muted); font-size: 12px; }
.glutea-commit-history #commits-table .glutea-commit-row > td:last-child { grid-area: actions; display: flex; justify-content: flex-end; align-items: center; gap: 2px; }
.glutea-commit-history #commits-table .ui.ellipsis-button { display: inline-flex; align-items: center; justify-content: center; min-width: 24px; width: 24px; height: 24px; min-height: 24px; padding: 0; margin: 0 4px; border-radius: 6px; vertical-align: middle; }
.glutea-commit-history #commits-table .commit-body { max-width: 80ch; margin: 0; padding: 8px 0 4px; border-radius: 0; background: transparent; color: var(--color-text-light-1); white-space: pre-wrap; overflow-wrap: anywhere; font-size: 13px; line-height: 1.6; }
@media (max-width: 767.98px) {
  .glutea-commit-history .glutea-commit-navigation { gap: 14px; margin-bottom: 22px; }
  .glutea-commit-history .glutea-commit-toolbar > .glutea-commit-search.ui.segment { flex-basis: 100%; width: 100%; }
  .glutea-commit-history .glutea-commit-search .ui.action.input > .ui.dropdown { min-width: 105px; }
  .glutea-commit-history #commits-table .glutea-commit-row { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: 'message message' 'author date' 'hash actions'; gap: 8px 10px; padding: 14px; }
  .glutea-commit-history #commits-table .glutea-commit-row > .sha { display: block !important; }
  .glutea-commit-history #commits-table .author .avatar-stack-names { white-space: normal; }
}

/* Native settings: a stable section rail, a clear title and readable forms. */
.page-content.settings > .flex-container { display: grid; grid-template-columns: 224px minmax(0, 1fr); gap: 40px; align-items: start; }
.page-content.settings .flex-container-nav { position: sticky; top: 88px; max-height: calc(100dvh - 112px); overflow-y: auto; scrollbar-width: thin; }
.page-content.settings .flex-container-nav .ui.vertical.menu { width: 100%; margin: 0; padding: 6px; border: 0; background: transparent; box-shadow: none; }
.page-content.settings .flex-container-nav .menu > .item { display: flex; align-items: center; min-height: 44px; padding: 10px 14px; border-radius: 9px; font-size: 14px; }
.page-content.settings .flex-container-nav .menu > .item::before { display: none; }
.page-content.settings .flex-container-nav .menu > .header { color: var(--glutea-muted); font-size: 13px; font-weight: 600; margin-bottom: 8px; }
.page-content.settings .flex-container-nav .menu > .active { color: var(--color-text); background: var(--color-active); box-shadow: inset 3px 0 var(--color-primary); font-weight: 600; }
.page-content.settings .flex-container-main { width: 100%; max-width: 912px; }
.glutea-settings-heading, .glutea-catalog-heading { margin: 0 0 28px; font-size: clamp(28px, 3.5vw, 36px); line-height: 1.15; letter-spacing: -.035em; font-weight: 600; overflow-wrap: anywhere; }
.page-content.settings .flex-container-main .ui.attached.header { padding: 22px 28px; margin-top: 28px; border-color: var(--glutea-line); background: var(--glutea-card-bg); font-size: 19px; line-height: 1.4; }
.page-content.settings .flex-container-main .ui.attached.segment { padding: 24px 28px 28px; border-color: var(--glutea-line); background: var(--glutea-card-bg); }
.page-content.settings .ui.attached.segment > p { max-width: 72ch; color: var(--glutea-muted); line-height: 1.65; margin-bottom: 24px; }
.page-content.settings .ui.form .field:has(> label[for] + :is(input:not([type='checkbox'], [type='radio'], [type='hidden']), textarea)) { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 8px 24px; align-items: start; }
.page-content.settings .ui.form .field:has(> label[for] + :is(input:not([type='checkbox'], [type='radio'], [type='hidden']), textarea)) > label { margin: 0; padding-top: 10px; line-height: 1.5; }
.page-content.settings .ui.form .field:has(> label[for] + :is(input:not([type='checkbox'], [type='radio'], [type='hidden']), textarea)) > :not(label) { grid-column: 2; min-width: 0; }
.page-content.settings .ui.form .field .help { max-width: 70ch; }
.page-content.settings .ui.attached.error.header { border-inline-start: 4px solid var(--color-red); color: var(--color-red); background: var(--color-red-badge-bg); }
.page-content.settings .ui.attached.segment:has(> .ui.form .negative.button) { border-color: var(--color-red-badge-bg); }

/* Packages: a searchable catalog; installation instructions lead the detail. */
.glutea-package-catalog > .ui.form { margin-bottom: 24px; }
.glutea-package-catalog .action.input { min-height: 44px; }
.glutea-package-catalog .action.input > input { min-width: 0; }
.glutea-package-catalog .action.input > .dropdown { min-width: 132px; }
.glutea-package-catalog .flex-divided-list { border: 1px solid var(--glutea-line); border-radius: 16px; background: var(--glutea-card-bg); overflow: hidden; }
.glutea-package-catalog .flex-divided-list > .item { padding: 22px 24px; margin: 0; border-color: var(--glutea-line); }
.glutea-package-catalog .item-title { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; font-size: 20px; line-height: 1.4; }
.glutea-package-catalog .item-title > a { color: var(--color-text); font-weight: 600; overflow-wrap: anywhere; }
.glutea-package-catalog .item-title .label-list { margin-inline-start: auto; }
.glutea-package-catalog .item-body { margin-top: 8px; color: var(--glutea-muted); line-height: 1.6; font-size: 13px; }
.page-content.packages .issue-title-header { margin-bottom: 28px; padding-bottom: 24px; border-bottom: 1px solid var(--glutea-line); gap: 10px; }
.page-content.packages .issue-title-header h1 { font-size: clamp(25px, 3vw, 36px); overflow-wrap: anywhere; }
.page-content.packages .packages-content { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 28px; align-items: start; }
.page-content.packages .packages-content-left { min-width: 0; width: auto; }
.page-content.packages .packages-content-right { width: auto; min-width: 0; margin: 0; padding: 24px; position: sticky; top: 88px; border-radius: 16px; overflow-wrap: anywhere; }
.page-content.packages .packages-content-left > .ui.header { padding: 20px 24px; font-size: 19px; }
.page-content.packages .packages-content-left > .ui.segment { padding: 24px; }
.page-content.packages pre { max-width: 100%; overflow-x: auto; font-size: 13px; line-height: 1.8; }

/* Projects: scan the work list, then give each native board column room. */
.glutea-project-list .list-header { margin: 24px 0 16px; gap: 16px; }
.glutea-project-list .milestone-list { border: 1px solid var(--glutea-line); border-radius: 16px; background: var(--glutea-card-bg); }
.glutea-project-list .milestone-list > .item { padding: 24px; margin: 0; border-color: var(--glutea-line); }
.glutea-project-list .milestone-list .list-item-title { font-size: 20px; line-height: 1.4; }
.glutea-project-list .empty-placeholder { padding: 48px 24px; }
.page-content.projects.edit-project > .ui.container { max-width: 900px; }
.page-content.projects.edit-project > .ui.container > .ui.form { padding: 28px; border: 1px solid var(--glutea-line); border-radius: 16px; background: var(--glutea-card-bg); }
.page-content.projects .project-header { width: 100%; max-width: 100%; flex-wrap: wrap; gap: 16px; align-items: center; margin-bottom: 20px; white-space: normal; }
.page-content.projects .project-header h2 { flex: 1 1 240px; min-width: 0; font-size: 30px; line-height: 1.2; margin: 0; overflow-wrap: anywhere; white-space: normal; }
.page-content.projects .project-header .list-header-filters { min-width: 0; flex-wrap: wrap; }
.page-content.projects .project-header > .ui.menu { min-width: 0; max-width: 100%; flex-wrap: wrap; white-space: normal; }
.page-content.projects .project-description { width: 100%; max-width: min(100%, 80ch); min-width: 0; margin-inline: 0; color: var(--glutea-muted); line-height: 1.65; }
.page-content.projects #project-board { gap: 20px; padding: 8px 0 24px; overflow-x: auto; overscroll-behavior-x: contain; }
.page-content.projects #project-board .project-column { flex: 0 0 300px; width: 300px; min-width: 0; padding: 14px; border: 1px solid var(--glutea-line); border-radius: 16px; background: var(--glutea-bg-secondary); }
.page-content.projects .project-column-header { min-height: 40px; gap: 10px; padding: 0 0 10px; }
.page-content.projects .project-column-title-text { font-size: 15px; font-weight: 600; }
.page-content.projects .project-column .issue-card { padding: 16px; border: 1px solid var(--glutea-line); border-radius: 12px; color: var(--color-text); background: var(--color-box-body); box-shadow: none; }

@media (max-width: 900px) {
  .page-content.settings > .flex-container { grid-template-columns: 190px minmax(0, 1fr); gap: 24px; }
  .page-content.settings .ui.form .field:has(> label[for] + :is(input:not([type='checkbox'], [type='radio'], [type='hidden']), textarea)) { grid-template-columns: minmax(0, 1fr); }
  .page-content.settings .ui.form .field:has(> label[for] + :is(input:not([type='checkbox'], [type='radio'], [type='hidden']), textarea)) > :not(label) { grid-column: 1; }
  .page-content.packages .packages-content { grid-template-columns: minmax(0, 1fr); }
  .page-content.packages .packages-content-right { position: static; }
}
@media (max-width: 767.98px) {
  .page-content.settings > .flex-container { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .page-content.settings .flex-container-nav { display: block; position: static; flex-basis: auto; max-height: none; overflow: visible; width: 100%; max-width: 100%; min-width: 0; }
  .page-content.settings .flex-container-nav .ui.vertical.menu { display: flex; flex: 0 1 auto; min-width: 0; max-width: 100%; flex-direction: row; overflow-x: auto; gap: 4px; padding: 4px; border-bottom: 1px solid var(--glutea-line); border-radius: 0; }
  .page-content.settings .flex-container-nav .menu > .item { flex-shrink: 0; white-space: nowrap; margin: 0; }
  .page-content.settings .flex-container-nav .menu > .active { box-shadow: inset 0 -3px var(--color-primary); }
  .page-content.settings .flex-container-main .ui.attached.header { padding: 18px; }
  .page-content.settings .flex-container-main .ui.attached.segment { padding: 20px 18px; }
  .glutea-package-catalog .action.input { flex-wrap: wrap; gap: 8px; }
  .glutea-package-catalog .action.input > input { flex-basis: calc(100% - 56px); border-radius: 11px; }
  .glutea-package-catalog .action.input > .dropdown { order: 1; width: 100%; margin: 0; border-radius: 11px; min-height: 44px; }
  .glutea-package-catalog .item-title .label-list { margin-inline-start: 0; }
  .glutea-package-catalog .flex-divided-list > .item, .glutea-project-list .milestone-list > .item { padding: 20px 18px; }
  .page-content.projects.edit-project > .ui.container > .ui.form { padding: 20px 16px; }
  .page-content.projects #project-board .project-column { flex-basis: min(300px, calc(100vw - 56px)); width: min(300px, calc(100vw - 56px)); }
  .page-content.projects .project-header .ui.menu { flex-wrap: wrap; }
}

/* Generated by scripts/build-native-icons.mjs from theme/native-icon-map.json.
 * Lucide SVG sources and license: custom-root/public/assets/img/lucide/.
 * Map only known interface glyphs; preserve native nodes, accessible names and identities.
 */
.svg.fontawesome-save { --glutea-icon: url("../img/lucide/save.svg"); }
.svg.fontawesome-send { --glutea-icon: url("../img/lucide/send.svg"); }
.svg.gitea-double-chevron-left { --glutea-icon: url("../img/lucide/chevrons-left.svg"); }
.svg.gitea-double-chevron-right { --glutea-icon: url("../img/lucide/chevrons-right.svg"); }
.svg.gitea-eclipse { --glutea-icon: url("../img/lucide/eclipse.svg"); }
.svg.gitea-empty-checkbox { --glutea-icon: url("../img/lucide/square.svg"); }
.svg.gitea-exclamation { --glutea-icon: url("../img/lucide/badge-alert.svg"); }
.svg.gitea-join { --glutea-icon: url("../img/lucide/fold-horizontal.svg"); }
.svg.gitea-lock { --glutea-icon: url("../img/lucide/lock.svg"); }
.svg.gitea-lock-cog { --glutea-icon: url("../img/lucide/lock-keyhole.svg"); }
.svg.gitea-oauth2-application { --glutea-icon: url("../img/lucide/app-window.svg"); }
.svg.gitea-oauth2-grant { --glutea-icon: url("../img/lucide/key-round.svg"); }
.svg.gitea-org { --glutea-icon: url("../img/lucide/building-2.svg"); }
.svg.gitea-running { --glutea-icon: url("../img/lucide/loader-circle.svg"); }
.svg.gitea-split { --glutea-icon: url("../img/lucide/unfold-horizontal.svg"); }
.svg.gitea-unlock { --glutea-icon: url("../img/lucide/lock-open.svg"); }
.svg.gitea-whitespace { --glutea-icon: url("../img/lucide/pilcrow.svg"); }
.svg.material-folder-generic { --glutea-icon: url("../img/lucide/folder.svg"); }
.svg.material-folder-symlink { --glutea-icon: url("../img/lucide/folder-symlink.svg"); }
.svg.material-invert-colors { --glutea-icon: url("../img/lucide/contrast.svg"); }
.svg.material-palette { --glutea-icon: url("../img/lucide/palette.svg"); }
.svg.octicon-accessibility { --glutea-icon: url("../img/lucide/accessibility.svg"); }
.svg.octicon-accessibility-inset { --glutea-icon: url("../img/lucide/accessibility.svg"); }
.svg.octicon-agent { --glutea-icon: url("../img/lucide/bot.svg"); }
.svg.octicon-ai-model { --glutea-icon: url("../img/lucide/brain-circuit.svg"); }
.svg.octicon-alert { --glutea-icon: url("../img/lucide/triangle-alert.svg"); }
.svg.octicon-alert-fill { --glutea-icon: url("../img/lucide/triangle-alert.svg"); }
.svg.octicon-apps { --glutea-icon: url("../img/lucide/layout-grid.svg"); }
.svg.octicon-archive { --glutea-icon: url("../img/lucide/archive.svg"); }
.svg.octicon-arrow-both { --glutea-icon: url("../img/lucide/move-horizontal.svg"); }
.svg.octicon-arrow-down { --glutea-icon: url("../img/lucide/arrow-down.svg"); }
.svg.octicon-arrow-down-left { --glutea-icon: url("../img/lucide/arrow-down-left.svg"); }
.svg.octicon-arrow-down-right { --glutea-icon: url("../img/lucide/arrow-down-right.svg"); }
.svg.octicon-arrow-left { --glutea-icon: url("../img/lucide/arrow-left.svg"); }
.svg.octicon-arrow-right { --glutea-icon: url("../img/lucide/arrow-right.svg"); }
.svg.octicon-arrow-switch { --glutea-icon: url("../img/lucide/arrow-left-right.svg"); }
.svg.octicon-arrow-up { --glutea-icon: url("../img/lucide/arrow-up.svg"); }
.svg.octicon-arrow-up-left { --glutea-icon: url("../img/lucide/arrow-up-left.svg"); }
.svg.octicon-arrow-up-right { --glutea-icon: url("../img/lucide/arrow-up-right.svg"); }
.svg.octicon-beaker { --glutea-icon: url("../img/lucide/beaker.svg"); }
.svg.octicon-bell { --glutea-icon: url("../img/lucide/bell.svg"); }
.svg.octicon-bell-fill { --glutea-icon: url("../img/lucide/bell.svg"); }
.svg.octicon-bell-slash { --glutea-icon: url("../img/lucide/bell-off.svg"); }
.svg.octicon-blocked { --glutea-icon: url("../img/lucide/ban.svg"); }
.svg.octicon-bold { --glutea-icon: url("../img/lucide/bold.svg"); }
.svg.octicon-book { --glutea-icon: url("../img/lucide/book-open.svg"); }
.svg.octicon-book-locked { --glutea-icon: url("../img/lucide/book-lock.svg"); }
.svg.octicon-book-marked { --glutea-icon: url("../img/lucide/book-marked.svg"); }
.svg.octicon-bookmark { --glutea-icon: url("../img/lucide/bookmark.svg"); }
.svg.octicon-bookmark-filled { --glutea-icon: url("../img/lucide/bookmark.svg"); }
.svg.octicon-bookmark-slash { --glutea-icon: url("../img/lucide/bookmark-x.svg"); }
.svg.octicon-bookmark-slash-fill { --glutea-icon: url("../img/lucide/bookmark-x.svg"); }
.svg.octicon-boolean-off { --glutea-icon: url("../img/lucide/toggle-left.svg"); }
.svg.octicon-boolean-on { --glutea-icon: url("../img/lucide/toggle-right.svg"); }
.svg.octicon-briefcase { --glutea-icon: url("../img/lucide/briefcase.svg"); }
.svg.octicon-broadcast { --glutea-icon: url("../img/lucide/radio.svg"); }
.svg.octicon-browser { --glutea-icon: url("../img/lucide/panels-top-left.svg"); }
.svg.octicon-bug { --glutea-icon: url("../img/lucide/bug.svg"); }
.svg.octicon-cache { --glutea-icon: url("../img/lucide/database.svg"); }
.svg.octicon-calendar { --glutea-icon: url("../img/lucide/calendar.svg"); }
.svg.octicon-check { --glutea-icon: url("../img/lucide/check.svg"); }
.svg.octicon-check-circle { --glutea-icon: url("../img/lucide/circle-check.svg"); }
.svg.octicon-check-circle-fill { --glutea-icon: url("../img/lucide/circle-check.svg"); }
.svg.octicon-checkbox { --glutea-icon: url("../img/lucide/square-check.svg"); }
.svg.octicon-checkbox-fill { --glutea-icon: url("../img/lucide/square-check.svg"); }
.svg.octicon-checklist { --glutea-icon: url("../img/lucide/list-checks.svg"); }
.svg.octicon-chevron-down { --glutea-icon: url("../img/lucide/chevron-down.svg"); }
.svg.octicon-chevron-left { --glutea-icon: url("../img/lucide/chevron-left.svg"); }
.svg.octicon-chevron-right { --glutea-icon: url("../img/lucide/chevron-right.svg"); }
.svg.octicon-chevron-up { --glutea-icon: url("../img/lucide/chevron-up.svg"); }
.svg.octicon-circle { --glutea-icon: url("../img/lucide/circle.svg"); }
.svg.octicon-circle-slash { --glutea-icon: url("../img/lucide/circle-slash.svg"); }
.svg.octicon-clock { --glutea-icon: url("../img/lucide/clock.svg"); }
.svg.octicon-clock-fill { --glutea-icon: url("../img/lucide/clock.svg"); }
.svg.octicon-cloud { --glutea-icon: url("../img/lucide/cloud.svg"); }
.svg.octicon-cloud-offline { --glutea-icon: url("../img/lucide/cloud-off.svg"); }
.svg.octicon-code { --glutea-icon: url("../img/lucide/code.svg"); }
.svg.octicon-code-of-conduct { --glutea-icon: url("../img/lucide/handshake.svg"); }
.svg.octicon-code-review { --glutea-icon: url("../img/lucide/file-code.svg"); }
.svg.octicon-code-square { --glutea-icon: url("../img/lucide/square-code.svg"); }
.svg.octicon-codescan { --glutea-icon: url("../img/lucide/scan-line.svg"); }
.svg.octicon-codescan-checkmark { --glutea-icon: url("../img/lucide/scan-line.svg"); }
.svg.octicon-codespaces { --glutea-icon: url("../img/lucide/computer.svg"); }
.svg.octicon-columns { --glutea-icon: url("../img/lucide/columns-2.svg"); }
.svg.octicon-command-palette { --glutea-icon: url("../img/lucide/command.svg"); }
.svg.octicon-comment { --glutea-icon: url("../img/lucide/message-square.svg"); }
.svg.octicon-comment-ai { --glutea-icon: url("../img/lucide/message-square-dashed.svg"); }
.svg.octicon-comment-discussion { --glutea-icon: url("../img/lucide/messages-square.svg"); }
.svg.octicon-comment-locked { --glutea-icon: url("../img/lucide/message-square-lock.svg"); }
.svg.octicon-compose { --glutea-icon: url("../img/lucide/square-pen.svg"); }
.svg.octicon-container { --glutea-icon: url("../img/lucide/container.svg"); }
.svg.octicon-copy { --glutea-icon: url("../img/lucide/copy.svg"); }
.svg.octicon-cpu { --glutea-icon: url("../img/lucide/cpu.svg"); }
.svg.octicon-credit-card { --glutea-icon: url("../img/lucide/credit-card.svg"); }
.svg.octicon-cross-reference { --glutea-icon: url("../img/lucide/message-square-share.svg"); }
.svg.octicon-crosshairs { --glutea-icon: url("../img/lucide/crosshair.svg"); }
.svg.octicon-danger { --glutea-icon: url("../img/lucide/octagon-alert.svg"); }
.svg.octicon-dash { --glutea-icon: url("../img/lucide/minus.svg"); }
.svg.octicon-database { --glutea-icon: url("../img/lucide/database.svg"); }
.svg.octicon-desktop-download { --glutea-icon: url("../img/lucide/monitor-down.svg"); }
.svg.octicon-device-camera { --glutea-icon: url("../img/lucide/camera.svg"); }
.svg.octicon-device-camera-video { --glutea-icon: url("../img/lucide/video.svg"); }
.svg.octicon-device-desktop { --glutea-icon: url("../img/lucide/monitor.svg"); }
.svg.octicon-device-mobile { --glutea-icon: url("../img/lucide/smartphone.svg"); }
.svg.octicon-devices { --glutea-icon: url("../img/lucide/monitor-smartphone.svg"); }
.svg.octicon-diamond { --glutea-icon: url("../img/lucide/diamond.svg"); }
.svg.octicon-dice { --glutea-icon: url("../img/lucide/dices.svg"); }
.svg.octicon-diff { --glutea-icon: url("../img/lucide/diff.svg"); }
.svg.octicon-diff-added { --glutea-icon: url("../img/lucide/plus.svg"); }
.svg.octicon-diff-ignored { --glutea-icon: url("../img/lucide/file-x.svg"); }
.svg.octicon-diff-modified { --glutea-icon: url("../img/lucide/file-pen.svg"); }
.svg.octicon-diff-removed { --glutea-icon: url("../img/lucide/minus.svg"); }
.svg.octicon-diff-renamed { --glutea-icon: url("../img/lucide/file-symlink.svg"); }
.svg.octicon-discussion-closed { --glutea-icon: url("../img/lucide/message-square-x.svg"); }
.svg.octicon-discussion-duplicate { --glutea-icon: url("../img/lucide/copy.svg"); }
.svg.octicon-discussion-outdated { --glutea-icon: url("../img/lucide/message-square-dashed.svg"); }
.svg.octicon-dot { --glutea-icon: url("../img/lucide/circle-small.svg"); }
.svg.octicon-dot-fill { --glutea-icon: url("../img/lucide/circle-small.svg"); }
.svg.octicon-download { --glutea-icon: url("../img/lucide/download.svg"); }
.svg.octicon-duplicate { --glutea-icon: url("../img/lucide/copy.svg"); }
.svg.octicon-ellipsis { --glutea-icon: url("../img/lucide/ellipsis.svg"); }
.svg.octicon-exclamation { --glutea-icon: url("../img/lucide/badge-alert.svg"); }
.svg.octicon-eye { --glutea-icon: url("../img/lucide/eye.svg"); }
.svg.octicon-eye-closed { --glutea-icon: url("../img/lucide/eye-off.svg"); }
.svg.octicon-feed-discussion { --glutea-icon: url("../img/lucide/message-square.svg"); }
.svg.octicon-feed-forked { --glutea-icon: url("../img/lucide/git-fork.svg"); }
.svg.octicon-feed-heart { --glutea-icon: url("../img/lucide/heart.svg"); }
.svg.octicon-feed-issue-closed { --glutea-icon: url("../img/lucide/circle-check.svg"); }
.svg.octicon-feed-issue-draft { --glutea-icon: url("../img/lucide/circle-dashed.svg"); }
.svg.octicon-feed-issue-open { --glutea-icon: url("../img/lucide/circle-dot.svg"); }
.svg.octicon-feed-issue-reopen { --glutea-icon: url("../img/lucide/circle-dot.svg"); }
.svg.octicon-feed-merged { --glutea-icon: url("../img/lucide/git-merge.svg"); }
.svg.octicon-feed-person { --glutea-icon: url("../img/lucide/user.svg"); }
.svg.octicon-feed-plus { --glutea-icon: url("../img/lucide/plus.svg"); }
.svg.octicon-feed-public { --glutea-icon: url("../img/lucide/globe.svg"); }
.svg.octicon-feed-pull-request-closed { --glutea-icon: url("../img/lucide/git-pull-request-closed.svg"); }
.svg.octicon-feed-pull-request-draft { --glutea-icon: url("../img/lucide/git-pull-request-draft.svg"); }
.svg.octicon-feed-pull-request-open { --glutea-icon: url("../img/lucide/git-pull-request.svg"); }
.svg.octicon-feed-repo { --glutea-icon: url("../img/lucide/book-marked.svg"); }
.svg.octicon-feed-rocket { --glutea-icon: url("../img/lucide/rocket.svg"); }
.svg.octicon-feed-star { --glutea-icon: url("../img/lucide/star.svg"); }
.svg.octicon-feed-tag { --glutea-icon: url("../img/lucide/tag.svg"); }
.svg.octicon-feed-trophy { --glutea-icon: url("../img/lucide/trophy.svg"); }
.svg.octicon-file { --glutea-icon: url("../img/lucide/file.svg"); }
.svg.octicon-file-added { --glutea-icon: url("../img/lucide/file-plus.svg"); }
.svg.octicon-file-badge { --glutea-icon: url("../img/lucide/badge.svg"); }
.svg.octicon-file-binary { --glutea-icon: url("../img/lucide/binary.svg"); }
.svg.octicon-file-check { --glutea-icon: url("../img/lucide/file-check.svg"); }
.svg.octicon-file-code { --glutea-icon: url("../img/lucide/file-code.svg"); }
.svg.octicon-file-diff { --glutea-icon: url("../img/lucide/file-diff.svg"); }
.svg.octicon-file-directory { --glutea-icon: url("../img/lucide/folder.svg"); }
.svg.octicon-file-directory-fill { --glutea-icon: url("../img/lucide/folder.svg"); }
.svg.octicon-file-directory-open-fill { --glutea-icon: url("../img/lucide/folder-open.svg"); }
.svg.octicon-file-directory-symlink { --glutea-icon: url("../img/lucide/folder-symlink.svg"); }
.svg.octicon-file-media { --glutea-icon: url("../img/lucide/file-image.svg"); }
.svg.octicon-file-moved { --glutea-icon: url("../img/lucide/file-symlink.svg"); }
.svg.octicon-file-removed { --glutea-icon: url("../img/lucide/file-minus.svg"); }
.svg.octicon-file-submodule { --glutea-icon: url("../img/lucide/folder-git.svg"); }
.svg.octicon-file-symlink-file { --glutea-icon: url("../img/lucide/file-symlink.svg"); }
.svg.octicon-file-zip { --glutea-icon: url("../img/lucide/file-archive.svg"); }
.svg.octicon-filter { --glutea-icon: url("../img/lucide/sliders-horizontal.svg"); }
.svg.octicon-filter-remove { --glutea-icon: url("../img/lucide/list-filter.svg"); }
.svg.octicon-fiscal-host { --glutea-icon: url("../img/lucide/landmark.svg"); }
.svg.octicon-flag { --glutea-icon: url("../img/lucide/flag.svg"); }
.svg.octicon-flame { --glutea-icon: url("../img/lucide/flame.svg"); }
.svg.octicon-flowchart { --glutea-icon: url("../img/lucide/workflow.svg"); }
.svg.octicon-focus-center { --glutea-icon: url("../img/lucide/focus.svg"); }
.svg.octicon-fold { --glutea-icon: url("../img/lucide/fold-vertical.svg"); }
.svg.octicon-fold-down { --glutea-icon: url("../img/lucide/chevrons-down.svg"); }
.svg.octicon-fold-up { --glutea-icon: url("../img/lucide/chevrons-up.svg"); }
.svg.octicon-gear { --glutea-icon: url("../img/lucide/settings.svg"); }
.svg.octicon-gift { --glutea-icon: url("../img/lucide/gift.svg"); }
.svg.octicon-git-branch { --glutea-icon: url("../img/lucide/git-branch.svg"); }
.svg.octicon-git-branch-check { --glutea-icon: url("../img/lucide/git-branch.svg"); }
.svg.octicon-git-commit { --glutea-icon: url("../img/lucide/git-commit-horizontal.svg"); }
.svg.octicon-git-compare { --glutea-icon: url("../img/lucide/git-compare.svg"); }
.svg.octicon-git-merge { --glutea-icon: url("../img/lucide/git-merge.svg"); }
.svg.octicon-git-merge-queue { --glutea-icon: url("../img/lucide/git-merge.svg"); }
.svg.octicon-git-pull-request { --glutea-icon: url("../img/lucide/git-pull-request.svg"); }
.svg.octicon-git-pull-request-closed { --glutea-icon: url("../img/lucide/git-pull-request-closed.svg"); }
.svg.octicon-git-pull-request-draft { --glutea-icon: url("../img/lucide/git-pull-request-draft.svg"); }
.svg.octicon-git-pull-request-locked { --glutea-icon: url("../img/lucide/git-pull-request.svg"); }
.svg.octicon-globe { --glutea-icon: url("../img/lucide/globe.svg"); }
.svg.octicon-goal { --glutea-icon: url("../img/lucide/target.svg"); }
.svg.octicon-grabber { --glutea-icon: url("../img/lucide/grip-vertical.svg"); }
.svg.octicon-graph { --glutea-icon: url("../img/lucide/chart-no-axes-column.svg"); }
.svg.octicon-graph-bar-horizontal { --glutea-icon: url("../img/lucide/chart-bar.svg"); }
.svg.octicon-graph-bar-vertical { --glutea-icon: url("../img/lucide/chart-column.svg"); }
.svg.octicon-hash { --glutea-icon: url("../img/lucide/hash.svg"); }
.svg.octicon-heading { --glutea-icon: url("../img/lucide/heading.svg"); }
.svg.octicon-heart { --glutea-icon: url("../img/lucide/heart.svg"); }
.svg.octicon-heart-fill { --glutea-icon: url("../img/lucide/heart.svg"); }
.svg.octicon-history { --glutea-icon: url("../img/lucide/history.svg"); }
.svg.octicon-home { --glutea-icon: url("../img/lucide/house.svg"); }
.svg.octicon-home-fill { --glutea-icon: url("../img/lucide/house.svg"); }
.svg.octicon-horizontal-rule { --glutea-icon: url("../img/lucide/minus.svg"); }
.svg.octicon-hourglass { --glutea-icon: url("../img/lucide/hourglass.svg"); }
.svg.octicon-id-badge { --glutea-icon: url("../img/lucide/contact.svg"); }
.svg.octicon-image { --glutea-icon: url("../img/lucide/image.svg"); }
.svg.octicon-inbox { --glutea-icon: url("../img/lucide/inbox.svg"); }
.svg.octicon-inbox-fill { --glutea-icon: url("../img/lucide/inbox.svg"); }
.svg.octicon-infinity { --glutea-icon: url("../img/lucide/infinity.svg"); }
.svg.octicon-info { --glutea-icon: url("../img/lucide/info.svg"); }
.svg.octicon-issue-closed { --glutea-icon: url("../img/lucide/circle-check.svg"); }
.svg.octicon-issue-draft { --glutea-icon: url("../img/lucide/circle-dashed.svg"); }
.svg.octicon-issue-locked { --glutea-icon: url("../img/lucide/circle-dot.svg"); }
.svg.octicon-issue-opened { --glutea-icon: url("../img/lucide/circle-dot.svg"); }
.svg.octicon-issue-reopened { --glutea-icon: url("../img/lucide/circle-dot.svg"); }
.svg.octicon-issue-tracked-by { --glutea-icon: url("../img/lucide/list-check.svg"); }
.svg.octicon-issue-tracks { --glutea-icon: url("../img/lucide/list-tree.svg"); }
.svg.octicon-italic { --glutea-icon: url("../img/lucide/italic.svg"); }
.svg.octicon-iterations { --glutea-icon: url("../img/lucide/repeat-2.svg"); }
.svg.octicon-kebab-horizontal { --glutea-icon: url("../img/lucide/ellipsis.svg"); }
.svg.octicon-key { --glutea-icon: url("../img/lucide/key.svg"); }
.svg.octicon-key-asterisk { --glutea-icon: url("../img/lucide/key-round.svg"); }
.svg.octicon-law { --glutea-icon: url("../img/lucide/scale.svg"); }
.svg.octicon-light-bulb { --glutea-icon: url("../img/lucide/lightbulb.svg"); }
.svg.octicon-link { --glutea-icon: url("../img/lucide/link.svg"); }
.svg.octicon-link-external { --glutea-icon: url("../img/lucide/external-link.svg"); }
.svg.octicon-list-ordered { --glutea-icon: url("../img/lucide/list-ordered.svg"); }
.svg.octicon-list-unordered { --glutea-icon: url("../img/lucide/list.svg"); }
.svg.octicon-location { --glutea-icon: url("../img/lucide/map-pin.svg"); }
.svg.octicon-lock { --glutea-icon: url("../img/lucide/lock.svg"); }
.svg.octicon-log { --glutea-icon: url("../img/lucide/scroll-text.svg"); }
.svg.octicon-loop { --glutea-icon: url("../img/lucide/repeat.svg"); }
.svg.octicon-mail { --glutea-icon: url("../img/lucide/mail.svg"); }
.svg.octicon-maximize { --glutea-icon: url("../img/lucide/maximize.svg"); }
.svg.octicon-megaphone { --glutea-icon: url("../img/lucide/megaphone.svg"); }
.svg.octicon-mention { --glutea-icon: url("../img/lucide/at-sign.svg"); }
.svg.octicon-meter { --glutea-icon: url("../img/lucide/gauge.svg"); }
.svg.octicon-milestone { --glutea-icon: url("../img/lucide/milestone.svg"); }
.svg.octicon-minimize { --glutea-icon: url("../img/lucide/minimize.svg"); }
.svg.octicon-mirror { --glutea-icon: url("../img/lucide/columns-2.svg"); }
.svg.octicon-moon { --glutea-icon: url("../img/lucide/moon.svg"); }
.svg.octicon-mortar-board { --glutea-icon: url("../img/lucide/graduation-cap.svg"); }
.svg.octicon-move-to-bottom { --glutea-icon: url("../img/lucide/arrow-down-to-line.svg"); }
.svg.octicon-move-to-end { --glutea-icon: url("../img/lucide/arrow-right-to-line.svg"); }
.svg.octicon-move-to-start { --glutea-icon: url("../img/lucide/arrow-left-to-line.svg"); }
.svg.octicon-move-to-top { --glutea-icon: url("../img/lucide/arrow-up-to-line.svg"); }
.svg.octicon-multi-select { --glutea-icon: url("../img/lucide/list-checks.svg"); }
.svg.octicon-mute { --glutea-icon: url("../img/lucide/volume-x.svg"); }
.svg.octicon-no-entry { --glutea-icon: url("../img/lucide/circle-minus.svg"); }
.svg.octicon-node { --glutea-icon: url("../img/lucide/workflow.svg"); }
.svg.octicon-north-star { --glutea-icon: url("../img/lucide/sparkles.svg"); }
.svg.octicon-note { --glutea-icon: url("../img/lucide/sticky-note.svg"); }
.svg.octicon-number { --glutea-icon: url("../img/lucide/hash.svg"); }
.svg.octicon-organization { --glutea-icon: url("../img/lucide/building-2.svg"); }
.svg.octicon-package { --glutea-icon: url("../img/lucide/package.svg"); }
.svg.octicon-package-dependencies { --glutea-icon: url("../img/lucide/package-minus.svg"); }
.svg.octicon-package-dependents { --glutea-icon: url("../img/lucide/package-plus.svg"); }
.svg.octicon-paintbrush { --glutea-icon: url("../img/lucide/paintbrush.svg"); }
.svg.octicon-paper-airplane { --glutea-icon: url("../img/lucide/send.svg"); }
.svg.octicon-paperclip { --glutea-icon: url("../img/lucide/paperclip.svg"); }
.svg.octicon-passkey-fill { --glutea-icon: url("../img/lucide/key-round.svg"); }
.svg.octicon-paste { --glutea-icon: url("../img/lucide/clipboard-paste.svg"); }
.svg.octicon-pause { --glutea-icon: url("../img/lucide/pause.svg"); }
.svg.octicon-pencil { --glutea-icon: url("../img/lucide/pencil.svg"); }
.svg.octicon-pencil-ai { --glutea-icon: url("../img/lucide/pencil-line.svg"); }
.svg.octicon-people { --glutea-icon: url("../img/lucide/users.svg"); }
.svg.octicon-person { --glutea-icon: url("../img/lucide/user.svg"); }
.svg.octicon-person-add { --glutea-icon: url("../img/lucide/user-plus.svg"); }
.svg.octicon-person-fill { --glutea-icon: url("../img/lucide/user.svg"); }
.svg.octicon-pin { --glutea-icon: url("../img/lucide/pin.svg"); }
.svg.octicon-pin-slash { --glutea-icon: url("../img/lucide/pin-off.svg"); }
.svg.octicon-pivot-column { --glutea-icon: url("../img/lucide/columns-3.svg"); }
.svg.octicon-play { --glutea-icon: url("../img/lucide/play.svg"); }
.svg.octicon-plug { --glutea-icon: url("../img/lucide/plug.svg"); }
.svg.octicon-plus { --glutea-icon: url("../img/lucide/plus.svg"); }
.svg.octicon-plus-circle { --glutea-icon: url("../img/lucide/circle-plus.svg"); }
.svg.octicon-project { --glutea-icon: url("../img/lucide/kanban.svg"); }
.svg.octicon-project-roadmap { --glutea-icon: url("../img/lucide/chart-gantt.svg"); }
.svg.octicon-project-symlink { --glutea-icon: url("../img/lucide/panels-top-left.svg"); }
.svg.octicon-project-template { --glutea-icon: url("../img/lucide/panels-top-left.svg"); }
.svg.octicon-pulse { --glutea-icon: url("../img/lucide/activity.svg"); }
.svg.octicon-question { --glutea-icon: url("../img/lucide/circle-help.svg"); }
.svg.octicon-quote { --glutea-icon: url("../img/lucide/quote.svg"); }
.svg.octicon-read { --glutea-icon: url("../img/lucide/mail-open.svg"); }
.svg.octicon-redo { --glutea-icon: url("../img/lucide/redo.svg"); }
.svg.octicon-rel-file-path { --glutea-icon: url("../img/lucide/folder-tree.svg"); }
.svg.octicon-reply { --glutea-icon: url("../img/lucide/reply.svg"); }
.svg.octicon-repo { --glutea-icon: url("../img/lucide/book-marked.svg"); }
.svg.octicon-repo-clone { --glutea-icon: url("../img/lucide/copy.svg"); }
.svg.octicon-repo-deleted { --glutea-icon: url("../img/lucide/book-x.svg"); }
.svg.octicon-repo-forked { --glutea-icon: url("../img/lucide/git-fork.svg"); }
.svg.octicon-repo-forked-locked { --glutea-icon: url("../img/lucide/git-fork.svg"); }
.svg.octicon-repo-locked { --glutea-icon: url("../img/lucide/book-lock.svg"); }
.svg.octicon-repo-pull { --glutea-icon: url("../img/lucide/download.svg"); }
.svg.octicon-repo-push { --glutea-icon: url("../img/lucide/upload.svg"); }
.svg.octicon-repo-template { --glutea-icon: url("../img/lucide/book-copy.svg"); }
.svg.octicon-report { --glutea-icon: url("../img/lucide/flag.svg"); }
.svg.octicon-rocket { --glutea-icon: url("../img/lucide/rocket.svg"); }
.svg.octicon-rows { --glutea-icon: url("../img/lucide/list.svg"); }
.svg.octicon-rss { --glutea-icon: url("../img/lucide/rss.svg"); }
.svg.octicon-sandbox { --glutea-icon: url("../img/lucide/box.svg"); }
.svg.octicon-screen-full { --glutea-icon: url("../img/lucide/maximize.svg"); }
.svg.octicon-screen-normal { --glutea-icon: url("../img/lucide/minimize.svg"); }
.svg.octicon-search { --glutea-icon: url("../img/lucide/search.svg"); }
.svg.octicon-server { --glutea-icon: url("../img/lucide/server.svg"); }
.svg.octicon-share { --glutea-icon: url("../img/lucide/share.svg"); }
.svg.octicon-share-android { --glutea-icon: url("../img/lucide/share-2.svg"); }
.svg.octicon-shield { --glutea-icon: url("../img/lucide/shield.svg"); }
.svg.octicon-shield-check { --glutea-icon: url("../img/lucide/shield-check.svg"); }
.svg.octicon-shield-lock { --glutea-icon: url("../img/lucide/shield-check.svg"); }
.svg.octicon-shield-slash { --glutea-icon: url("../img/lucide/shield-off.svg"); }
.svg.octicon-shield-x { --glutea-icon: url("../img/lucide/shield-x.svg"); }
.svg.octicon-sidebar { --glutea-icon: url("../img/lucide/panel-left.svg"); }
.svg.octicon-sidebar-collapse { --glutea-icon: url("../img/lucide/panel-left-close.svg"); }
.svg.octicon-sidebar-expand { --glutea-icon: url("../img/lucide/panel-left-open.svg"); }
.svg.octicon-sign-in { --glutea-icon: url("../img/lucide/log-in.svg"); }
.svg.octicon-sign-out { --glutea-icon: url("../img/lucide/log-out.svg"); }
.svg.octicon-single-select { --glutea-icon: url("../img/lucide/list-filter.svg"); }
.svg.octicon-skip { --glutea-icon: url("../img/lucide/skip-forward.svg"); }
.svg.octicon-skip-fill { --glutea-icon: url("../img/lucide/skip-forward.svg"); }
.svg.octicon-sliders { --glutea-icon: url("../img/lucide/sliders-horizontal.svg"); }
.svg.octicon-smiley { --glutea-icon: url("../img/lucide/smile.svg"); }
.svg.octicon-smiley-frown { --glutea-icon: url("../img/lucide/face-slightly-frowning.svg"); }
.svg.octicon-smiley-frustrated { --glutea-icon: url("../img/lucide/face-angry.svg"); }
.svg.octicon-smiley-grin { --glutea-icon: url("../img/lucide/face-grinning.svg"); }
.svg.octicon-smiley-neutral { --glutea-icon: url("../img/lucide/face-neutral.svg"); }
.svg.octicon-sort-asc { --glutea-icon: url("../img/lucide/arrow-up-wide-narrow.svg"); }
.svg.octicon-sort-desc { --glutea-icon: url("../img/lucide/arrow-down-wide-narrow.svg"); }
.svg.octicon-space { --glutea-icon: url("../img/lucide/space.svg"); }
.svg.octicon-spacing-large { --glutea-icon: url("../img/lucide/align-vertical-space-around.svg"); }
.svg.octicon-spacing-medium { --glutea-icon: url("../img/lucide/align-vertical-distribute-center.svg"); }
.svg.octicon-spacing-small { --glutea-icon: url("../img/lucide/align-vertical-justify-center.svg"); }
.svg.octicon-sparkle { --glutea-icon: url("../img/lucide/sparkle.svg"); }
.svg.octicon-sparkle-fill { --glutea-icon: url("../img/lucide/sparkle.svg"); }
.svg.octicon-sparkles-fill { --glutea-icon: url("../img/lucide/sparkles.svg"); }
.svg.octicon-split-view { --glutea-icon: url("../img/lucide/columns-2.svg"); }
.svg.octicon-sponsor-tiers { --glutea-icon: url("../img/lucide/layers.svg"); }
.svg.octicon-square { --glutea-icon: url("../img/lucide/square.svg"); }
.svg.octicon-square-circle { --glutea-icon: url("../img/lucide/shapes.svg"); }
.svg.octicon-square-fill { --glutea-icon: url("../img/lucide/square.svg"); }
.svg.octicon-stack { --glutea-icon: url("../img/lucide/layers.svg"); }
.svg.octicon-stack-add { --glutea-icon: url("../img/lucide/layers-plus.svg"); }
.svg.octicon-stack-check { --glutea-icon: url("../img/lucide/list-checks.svg"); }
.svg.octicon-stack-remove { --glutea-icon: url("../img/lucide/layers-2.svg"); }
.svg.octicon-star { --glutea-icon: url("../img/lucide/star.svg"); }
.svg.octicon-star-fill { --glutea-icon: url("../img/lucide/star.svg"); }
.svg.octicon-stop { --glutea-icon: url("../img/lucide/octagon.svg"); }
.svg.octicon-stopwatch { --glutea-icon: url("../img/lucide/timer.svg"); }
.svg.octicon-strikethrough { --glutea-icon: url("../img/lucide/strikethrough.svg"); }
.svg.octicon-sun { --glutea-icon: url("../img/lucide/sun.svg"); }
.svg.octicon-sync { --glutea-icon: url("../img/lucide/refresh-cw.svg"); }
.svg.octicon-tab { --glutea-icon: url("../img/lucide/panel-top.svg"); }
.svg.octicon-tab-external { --glutea-icon: url("../img/lucide/external-link.svg"); }
.svg.octicon-table { --glutea-icon: url("../img/lucide/table.svg"); }
.svg.octicon-tag { --glutea-icon: url("../img/lucide/tag.svg"); }
.svg.octicon-tasklist { --glutea-icon: url("../img/lucide/list-checks.svg"); }
.svg.octicon-telescope { --glutea-icon: url("../img/lucide/telescope.svg"); }
.svg.octicon-telescope-fill { --glutea-icon: url("../img/lucide/telescope.svg"); }
.svg.octicon-terminal { --glutea-icon: url("../img/lucide/terminal.svg"); }
.svg.octicon-three-bars { --glutea-icon: url("../img/lucide/menu.svg"); }
.svg.octicon-thumbsdown { --glutea-icon: url("../img/lucide/thumbs-down.svg"); }
.svg.octicon-thumbsup { --glutea-icon: url("../img/lucide/thumbs-up.svg"); }
.svg.octicon-tools { --glutea-icon: url("../img/lucide/wrench.svg"); }
.svg.octicon-tracked-by-closed-completed { --glutea-icon: url("../img/lucide/circle-check.svg"); }
.svg.octicon-tracked-by-closed-not-planned { --glutea-icon: url("../img/lucide/circle-slash.svg"); }
.svg.octicon-trash { --glutea-icon: url("../img/lucide/trash-2.svg"); }
.svg.octicon-triangle-down { --glutea-icon: url("../img/lucide/chevron-down.svg"); }
.svg.octicon-triangle-left { --glutea-icon: url("../img/lucide/chevron-left.svg"); }
.svg.octicon-triangle-right { --glutea-icon: url("../img/lucide/chevron-right.svg"); }
.svg.octicon-triangle-up { --glutea-icon: url("../img/lucide/chevron-up.svg"); }
.svg.octicon-trophy { --glutea-icon: url("../img/lucide/trophy.svg"); }
.svg.octicon-typography { --glutea-icon: url("../img/lucide/case-sensitive.svg"); }
.svg.octicon-undo { --glutea-icon: url("../img/lucide/undo.svg"); }
.svg.octicon-unfold { --glutea-icon: url("../img/lucide/unfold-vertical.svg"); }
.svg.octicon-unlink { --glutea-icon: url("../img/lucide/unlink.svg"); }
.svg.octicon-unlock { --glutea-icon: url("../img/lucide/lock-open.svg"); }
.svg.octicon-unmute { --glutea-icon: url("../img/lucide/volume-2.svg"); }
.svg.octicon-unread { --glutea-icon: url("../img/lucide/mail.svg"); }
.svg.octicon-unverified { --glutea-icon: url("../img/lucide/badge-alert.svg"); }
.svg.octicon-unwrap { --glutea-icon: url("../img/lucide/arrow-right-to-line.svg"); }
.svg.octicon-upload { --glutea-icon: url("../img/lucide/upload.svg"); }
.svg.octicon-verified { --glutea-icon: url("../img/lucide/badge-check.svg"); }
.svg.octicon-versions { --glutea-icon: url("../img/lucide/layers.svg"); }
.svg.octicon-video { --glutea-icon: url("../img/lucide/video.svg"); }
.svg.octicon-webhook { --glutea-icon: url("../img/lucide/webhook.svg"); }
.svg.octicon-workflow { --glutea-icon: url("../img/lucide/workflow.svg"); }
.svg.octicon-wrap { --glutea-icon: url("../img/lucide/wrap-text.svg"); }
.svg.octicon-x { --glutea-icon: url("../img/lucide/x.svg"); }
.svg.octicon-x-circle { --glutea-icon: url("../img/lucide/circle-x.svg"); }
.svg.octicon-x-circle-fill { --glutea-icon: url("../img/lucide/circle-x.svg"); }
.svg.octicon-zap { --glutea-icon: url("../img/lucide/zap.svg"); }
.svg.octicon-zoom-in { --glutea-icon: url("../img/lucide/zoom-in.svg"); }
.svg.octicon-zoom-out { --glutea-icon: url("../img/lucide/zoom-out.svg"); }

.svg:where(.fontawesome-save, .fontawesome-send, .gitea-double-chevron-left, .gitea-double-chevron-right, .gitea-eclipse, .gitea-empty-checkbox, .gitea-exclamation, .gitea-join, .gitea-lock, .gitea-lock-cog, .gitea-oauth2-application, .gitea-oauth2-grant, .gitea-org, .gitea-running, .gitea-split, .gitea-unlock, .gitea-whitespace, .material-folder-generic, .material-folder-symlink, .material-invert-colors, .material-palette, .octicon-accessibility, .octicon-accessibility-inset, .octicon-agent, .octicon-ai-model, .octicon-alert, .octicon-alert-fill, .octicon-apps, .octicon-archive, .octicon-arrow-both, .octicon-arrow-down, .octicon-arrow-down-left, .octicon-arrow-down-right, .octicon-arrow-left, .octicon-arrow-right, .octicon-arrow-switch, .octicon-arrow-up, .octicon-arrow-up-left, .octicon-arrow-up-right, .octicon-beaker, .octicon-bell, .octicon-bell-fill, .octicon-bell-slash, .octicon-blocked, .octicon-bold, .octicon-book, .octicon-book-locked, .octicon-book-marked, .octicon-bookmark, .octicon-bookmark-filled, .octicon-bookmark-slash, .octicon-bookmark-slash-fill, .octicon-boolean-off, .octicon-boolean-on, .octicon-briefcase, .octicon-broadcast, .octicon-browser, .octicon-bug, .octicon-cache, .octicon-calendar, .octicon-check, .octicon-check-circle, .octicon-check-circle-fill, .octicon-checkbox, .octicon-checkbox-fill, .octicon-checklist, .octicon-chevron-down, .octicon-chevron-left, .octicon-chevron-right, .octicon-chevron-up, .octicon-circle, .octicon-circle-slash, .octicon-clock, .octicon-clock-fill, .octicon-cloud, .octicon-cloud-offline, .octicon-code, .octicon-code-of-conduct, .octicon-code-review, .octicon-code-square, .octicon-codescan, .octicon-codescan-checkmark, .octicon-codespaces, .octicon-columns, .octicon-command-palette, .octicon-comment, .octicon-comment-ai, .octicon-comment-discussion, .octicon-comment-locked, .octicon-compose, .octicon-container, .octicon-copy, .octicon-cpu, .octicon-credit-card, .octicon-cross-reference, .octicon-crosshairs, .octicon-danger, .octicon-dash, .octicon-database, .octicon-desktop-download, .octicon-device-camera, .octicon-device-camera-video, .octicon-device-desktop, .octicon-device-mobile, .octicon-devices, .octicon-diamond, .octicon-dice, .octicon-diff, .octicon-diff-added, .octicon-diff-ignored, .octicon-diff-modified, .octicon-diff-removed, .octicon-diff-renamed, .octicon-discussion-closed, .octicon-discussion-duplicate, .octicon-discussion-outdated, .octicon-dot, .octicon-dot-fill, .octicon-download, .octicon-duplicate, .octicon-ellipsis, .octicon-exclamation, .octicon-eye, .octicon-eye-closed, .octicon-feed-discussion, .octicon-feed-forked, .octicon-feed-heart, .octicon-feed-issue-closed, .octicon-feed-issue-draft, .octicon-feed-issue-open, .octicon-feed-issue-reopen, .octicon-feed-merged, .octicon-feed-person, .octicon-feed-plus, .octicon-feed-public, .octicon-feed-pull-request-closed, .octicon-feed-pull-request-draft, .octicon-feed-pull-request-open, .octicon-feed-repo, .octicon-feed-rocket, .octicon-feed-star, .octicon-feed-tag, .octicon-feed-trophy, .octicon-file, .octicon-file-added, .octicon-file-badge, .octicon-file-binary, .octicon-file-check, .octicon-file-code, .octicon-file-diff, .octicon-file-directory, .octicon-file-directory-fill, .octicon-file-directory-open-fill, .octicon-file-directory-symlink, .octicon-file-media, .octicon-file-moved, .octicon-file-removed, .octicon-file-submodule, .octicon-file-symlink-file, .octicon-file-zip, .octicon-filter, .octicon-filter-remove, .octicon-fiscal-host, .octicon-flag, .octicon-flame, .octicon-flowchart, .octicon-focus-center, .octicon-fold, .octicon-fold-down, .octicon-fold-up, .octicon-gear, .octicon-gift, .octicon-git-branch, .octicon-git-branch-check, .octicon-git-commit, .octicon-git-compare, .octicon-git-merge, .octicon-git-merge-queue, .octicon-git-pull-request, .octicon-git-pull-request-closed, .octicon-git-pull-request-draft, .octicon-git-pull-request-locked, .octicon-globe, .octicon-goal, .octicon-grabber, .octicon-graph, .octicon-graph-bar-horizontal, .octicon-graph-bar-vertical, .octicon-hash, .octicon-heading, .octicon-heart, .octicon-heart-fill, .octicon-history, .octicon-home, .octicon-home-fill, .octicon-horizontal-rule, .octicon-hourglass, .octicon-id-badge, .octicon-image, .octicon-inbox, .octicon-inbox-fill, .octicon-infinity, .octicon-info, .octicon-issue-closed, .octicon-issue-draft, .octicon-issue-locked, .octicon-issue-opened, .octicon-issue-reopened, .octicon-issue-tracked-by, .octicon-issue-tracks, .octicon-italic, .octicon-iterations, .octicon-kebab-horizontal, .octicon-key, .octicon-key-asterisk, .octicon-law, .octicon-light-bulb, .octicon-link, .octicon-link-external, .octicon-list-ordered, .octicon-list-unordered, .octicon-location, .octicon-lock, .octicon-log, .octicon-loop, .octicon-mail, .octicon-maximize, .octicon-megaphone, .octicon-mention, .octicon-meter, .octicon-milestone, .octicon-minimize, .octicon-mirror, .octicon-moon, .octicon-mortar-board, .octicon-move-to-bottom, .octicon-move-to-end, .octicon-move-to-start, .octicon-move-to-top, .octicon-multi-select, .octicon-mute, .octicon-no-entry, .octicon-node, .octicon-north-star, .octicon-note, .octicon-number, .octicon-organization, .octicon-package, .octicon-package-dependencies, .octicon-package-dependents, .octicon-paintbrush, .octicon-paper-airplane, .octicon-paperclip, .octicon-passkey-fill, .octicon-paste, .octicon-pause, .octicon-pencil, .octicon-pencil-ai, .octicon-people, .octicon-person, .octicon-person-add, .octicon-person-fill, .octicon-pin, .octicon-pin-slash, .octicon-pivot-column, .octicon-play, .octicon-plug, .octicon-plus, .octicon-plus-circle, .octicon-project, .octicon-project-roadmap, .octicon-project-symlink, .octicon-project-template, .octicon-pulse, .octicon-question, .octicon-quote, .octicon-read, .octicon-redo, .octicon-rel-file-path, .octicon-reply, .octicon-repo, .octicon-repo-clone, .octicon-repo-deleted, .octicon-repo-forked, .octicon-repo-forked-locked, .octicon-repo-locked, .octicon-repo-pull, .octicon-repo-push, .octicon-repo-template, .octicon-report, .octicon-rocket, .octicon-rows, .octicon-rss, .octicon-sandbox, .octicon-screen-full, .octicon-screen-normal, .octicon-search, .octicon-server, .octicon-share, .octicon-share-android, .octicon-shield, .octicon-shield-check, .octicon-shield-lock, .octicon-shield-slash, .octicon-shield-x, .octicon-sidebar, .octicon-sidebar-collapse, .octicon-sidebar-expand, .octicon-sign-in, .octicon-sign-out, .octicon-single-select, .octicon-skip, .octicon-skip-fill, .octicon-sliders, .octicon-smiley, .octicon-smiley-frown, .octicon-smiley-frustrated, .octicon-smiley-grin, .octicon-smiley-neutral, .octicon-sort-asc, .octicon-sort-desc, .octicon-space, .octicon-spacing-large, .octicon-spacing-medium, .octicon-spacing-small, .octicon-sparkle, .octicon-sparkle-fill, .octicon-sparkles-fill, .octicon-split-view, .octicon-sponsor-tiers, .octicon-square, .octicon-square-circle, .octicon-square-fill, .octicon-stack, .octicon-stack-add, .octicon-stack-check, .octicon-stack-remove, .octicon-star, .octicon-star-fill, .octicon-stop, .octicon-stopwatch, .octicon-strikethrough, .octicon-sun, .octicon-sync, .octicon-tab, .octicon-tab-external, .octicon-table, .octicon-tag, .octicon-tasklist, .octicon-telescope, .octicon-telescope-fill, .octicon-terminal, .octicon-three-bars, .octicon-thumbsdown, .octicon-thumbsup, .octicon-tools, .octicon-tracked-by-closed-completed, .octicon-tracked-by-closed-not-planned, .octicon-trash, .octicon-triangle-down, .octicon-triangle-left, .octicon-triangle-right, .octicon-triangle-up, .octicon-trophy, .octicon-typography, .octicon-undo, .octicon-unfold, .octicon-unlink, .octicon-unlock, .octicon-unmute, .octicon-unread, .octicon-unverified, .octicon-unwrap, .octicon-upload, .octicon-verified, .octicon-versions, .octicon-video, .octicon-webhook, .octicon-workflow, .octicon-wrap, .octicon-x, .octicon-x-circle, .octicon-x-circle-fill, .octicon-zap, .octicon-zoom-in, .octicon-zoom-out) {
  background: currentColor;
  mask: var(--glutea-icon) center / contain no-repeat;
  -webkit-mask: var(--glutea-icon) center / contain no-repeat;
}
.svg:where(.fontawesome-save, .fontawesome-send, .gitea-double-chevron-left, .gitea-double-chevron-right, .gitea-eclipse, .gitea-empty-checkbox, .gitea-exclamation, .gitea-join, .gitea-lock, .gitea-lock-cog, .gitea-oauth2-application, .gitea-oauth2-grant, .gitea-org, .gitea-running, .gitea-split, .gitea-unlock, .gitea-whitespace, .material-folder-generic, .material-folder-symlink, .material-invert-colors, .material-palette, .octicon-accessibility, .octicon-accessibility-inset, .octicon-agent, .octicon-ai-model, .octicon-alert, .octicon-alert-fill, .octicon-apps, .octicon-archive, .octicon-arrow-both, .octicon-arrow-down, .octicon-arrow-down-left, .octicon-arrow-down-right, .octicon-arrow-left, .octicon-arrow-right, .octicon-arrow-switch, .octicon-arrow-up, .octicon-arrow-up-left, .octicon-arrow-up-right, .octicon-beaker, .octicon-bell, .octicon-bell-fill, .octicon-bell-slash, .octicon-blocked, .octicon-bold, .octicon-book, .octicon-book-locked, .octicon-book-marked, .octicon-bookmark, .octicon-bookmark-filled, .octicon-bookmark-slash, .octicon-bookmark-slash-fill, .octicon-boolean-off, .octicon-boolean-on, .octicon-briefcase, .octicon-broadcast, .octicon-browser, .octicon-bug, .octicon-cache, .octicon-calendar, .octicon-check, .octicon-check-circle, .octicon-check-circle-fill, .octicon-checkbox, .octicon-checkbox-fill, .octicon-checklist, .octicon-chevron-down, .octicon-chevron-left, .octicon-chevron-right, .octicon-chevron-up, .octicon-circle, .octicon-circle-slash, .octicon-clock, .octicon-clock-fill, .octicon-cloud, .octicon-cloud-offline, .octicon-code, .octicon-code-of-conduct, .octicon-code-review, .octicon-code-square, .octicon-codescan, .octicon-codescan-checkmark, .octicon-codespaces, .octicon-columns, .octicon-command-palette, .octicon-comment, .octicon-comment-ai, .octicon-comment-discussion, .octicon-comment-locked, .octicon-compose, .octicon-container, .octicon-copy, .octicon-cpu, .octicon-credit-card, .octicon-cross-reference, .octicon-crosshairs, .octicon-danger, .octicon-dash, .octicon-database, .octicon-desktop-download, .octicon-device-camera, .octicon-device-camera-video, .octicon-device-desktop, .octicon-device-mobile, .octicon-devices, .octicon-diamond, .octicon-dice, .octicon-diff, .octicon-diff-added, .octicon-diff-ignored, .octicon-diff-modified, .octicon-diff-removed, .octicon-diff-renamed, .octicon-discussion-closed, .octicon-discussion-duplicate, .octicon-discussion-outdated, .octicon-dot, .octicon-dot-fill, .octicon-download, .octicon-duplicate, .octicon-ellipsis, .octicon-exclamation, .octicon-eye, .octicon-eye-closed, .octicon-feed-discussion, .octicon-feed-forked, .octicon-feed-heart, .octicon-feed-issue-closed, .octicon-feed-issue-draft, .octicon-feed-issue-open, .octicon-feed-issue-reopen, .octicon-feed-merged, .octicon-feed-person, .octicon-feed-plus, .octicon-feed-public, .octicon-feed-pull-request-closed, .octicon-feed-pull-request-draft, .octicon-feed-pull-request-open, .octicon-feed-repo, .octicon-feed-rocket, .octicon-feed-star, .octicon-feed-tag, .octicon-feed-trophy, .octicon-file, .octicon-file-added, .octicon-file-badge, .octicon-file-binary, .octicon-file-check, .octicon-file-code, .octicon-file-diff, .octicon-file-directory, .octicon-file-directory-fill, .octicon-file-directory-open-fill, .octicon-file-directory-symlink, .octicon-file-media, .octicon-file-moved, .octicon-file-removed, .octicon-file-submodule, .octicon-file-symlink-file, .octicon-file-zip, .octicon-filter, .octicon-filter-remove, .octicon-fiscal-host, .octicon-flag, .octicon-flame, .octicon-flowchart, .octicon-focus-center, .octicon-fold, .octicon-fold-down, .octicon-fold-up, .octicon-gear, .octicon-gift, .octicon-git-branch, .octicon-git-branch-check, .octicon-git-commit, .octicon-git-compare, .octicon-git-merge, .octicon-git-merge-queue, .octicon-git-pull-request, .octicon-git-pull-request-closed, .octicon-git-pull-request-draft, .octicon-git-pull-request-locked, .octicon-globe, .octicon-goal, .octicon-grabber, .octicon-graph, .octicon-graph-bar-horizontal, .octicon-graph-bar-vertical, .octicon-hash, .octicon-heading, .octicon-heart, .octicon-heart-fill, .octicon-history, .octicon-home, .octicon-home-fill, .octicon-horizontal-rule, .octicon-hourglass, .octicon-id-badge, .octicon-image, .octicon-inbox, .octicon-inbox-fill, .octicon-infinity, .octicon-info, .octicon-issue-closed, .octicon-issue-draft, .octicon-issue-locked, .octicon-issue-opened, .octicon-issue-reopened, .octicon-issue-tracked-by, .octicon-issue-tracks, .octicon-italic, .octicon-iterations, .octicon-kebab-horizontal, .octicon-key, .octicon-key-asterisk, .octicon-law, .octicon-light-bulb, .octicon-link, .octicon-link-external, .octicon-list-ordered, .octicon-list-unordered, .octicon-location, .octicon-lock, .octicon-log, .octicon-loop, .octicon-mail, .octicon-maximize, .octicon-megaphone, .octicon-mention, .octicon-meter, .octicon-milestone, .octicon-minimize, .octicon-mirror, .octicon-moon, .octicon-mortar-board, .octicon-move-to-bottom, .octicon-move-to-end, .octicon-move-to-start, .octicon-move-to-top, .octicon-multi-select, .octicon-mute, .octicon-no-entry, .octicon-node, .octicon-north-star, .octicon-note, .octicon-number, .octicon-organization, .octicon-package, .octicon-package-dependencies, .octicon-package-dependents, .octicon-paintbrush, .octicon-paper-airplane, .octicon-paperclip, .octicon-passkey-fill, .octicon-paste, .octicon-pause, .octicon-pencil, .octicon-pencil-ai, .octicon-people, .octicon-person, .octicon-person-add, .octicon-person-fill, .octicon-pin, .octicon-pin-slash, .octicon-pivot-column, .octicon-play, .octicon-plug, .octicon-plus, .octicon-plus-circle, .octicon-project, .octicon-project-roadmap, .octicon-project-symlink, .octicon-project-template, .octicon-pulse, .octicon-question, .octicon-quote, .octicon-read, .octicon-redo, .octicon-rel-file-path, .octicon-reply, .octicon-repo, .octicon-repo-clone, .octicon-repo-deleted, .octicon-repo-forked, .octicon-repo-forked-locked, .octicon-repo-locked, .octicon-repo-pull, .octicon-repo-push, .octicon-repo-template, .octicon-report, .octicon-rocket, .octicon-rows, .octicon-rss, .octicon-sandbox, .octicon-screen-full, .octicon-screen-normal, .octicon-search, .octicon-server, .octicon-share, .octicon-share-android, .octicon-shield, .octicon-shield-check, .octicon-shield-lock, .octicon-shield-slash, .octicon-shield-x, .octicon-sidebar, .octicon-sidebar-collapse, .octicon-sidebar-expand, .octicon-sign-in, .octicon-sign-out, .octicon-single-select, .octicon-skip, .octicon-skip-fill, .octicon-sliders, .octicon-smiley, .octicon-smiley-frown, .octicon-smiley-frustrated, .octicon-smiley-grin, .octicon-smiley-neutral, .octicon-sort-asc, .octicon-sort-desc, .octicon-space, .octicon-spacing-large, .octicon-spacing-medium, .octicon-spacing-small, .octicon-sparkle, .octicon-sparkle-fill, .octicon-sparkles-fill, .octicon-split-view, .octicon-sponsor-tiers, .octicon-square, .octicon-square-circle, .octicon-square-fill, .octicon-stack, .octicon-stack-add, .octicon-stack-check, .octicon-stack-remove, .octicon-star, .octicon-star-fill, .octicon-stop, .octicon-stopwatch, .octicon-strikethrough, .octicon-sun, .octicon-sync, .octicon-tab, .octicon-tab-external, .octicon-table, .octicon-tag, .octicon-tasklist, .octicon-telescope, .octicon-telescope-fill, .octicon-terminal, .octicon-three-bars, .octicon-thumbsdown, .octicon-thumbsup, .octicon-tools, .octicon-tracked-by-closed-completed, .octicon-tracked-by-closed-not-planned, .octicon-trash, .octicon-triangle-down, .octicon-triangle-left, .octicon-triangle-right, .octicon-triangle-up, .octicon-trophy, .octicon-typography, .octicon-undo, .octicon-unfold, .octicon-unlink, .octicon-unlock, .octicon-unmute, .octicon-unread, .octicon-unverified, .octicon-unwrap, .octicon-upload, .octicon-verified, .octicon-versions, .octicon-video, .octicon-webhook, .octicon-workflow, .octicon-wrap, .octicon-x, .octicon-x-circle, .octicon-x-circle-fill, .octicon-zap, .octicon-zoom-in, .octicon-zoom-out) > * { visibility: hidden; }

/* Contextual glyphs retain the native event and toolbar semantics. */
md-header[level="1"] .svg.octicon-heading { --glutea-icon: url("../img/lucide/heading-1.svg"); }
md-header[level="2"] .svg.octicon-heading { --glutea-icon: url("../img/lucide/heading-2.svg"); }
md-header[level="3"] .svg.octicon-heading { --glutea-icon: url("../img/lucide/heading-3.svg"); }
.repository.view.issue .comment-list .timeline-item .badge .svg.octicon-repo-push { --glutea-icon: url("../img/lucide/git-commit-vertical.svg"); }
.repository.view.issue .comment-list .pull-merge-box > .timeline-avatar.tw-text-green > .svg.octicon-git-merge { --glutea-icon: url("../img/lucide/check.svg"); }

/* Lucide heading glyphs contain their level; suppress Gitea's duplicate numeral. */
.combo-markdown-editor md-header[level]::after { content: none; }

}
@media (prefers-color-scheme: dark){
:root{--is-dark-theme: true;--color-primary: #4183c4;--color-primary-contrast: #ffffff;--color-primary-dark-1: #548fca;--color-primary-dark-2: #679cd0;--color-primary-dark-3: #7aa8d6;--color-primary-dark-4: #8db5dc;--color-primary-dark-5: #b3cde7;--color-primary-dark-6: #d9e6f3;--color-primary-dark-7: #f4f8fb;--color-primary-light-1: #3876b3;--color-primary-light-2: #31699f;--color-primary-light-3: #2b5c8b;--color-primary-light-4: #254f77;--color-primary-light-5: #193450;--color-primary-light-6: #0c1a28;--color-primary-light-7: #04080c;--color-primary-alpha-10: #4183c419;--color-primary-alpha-20: #4183c433;--color-primary-alpha-30: #4183c44b;--color-primary-alpha-40: #4183c466;--color-primary-alpha-50: #4183c480;--color-primary-alpha-60: #4183c499;--color-primary-alpha-70: #4183c4b3;--color-primary-alpha-80: #4183c4cc;--color-primary-alpha-90: #4183c4e1;--color-primary-hover: var(--color-primary-light-1);--color-primary-active: var(--color-primary-light-2);--color-secondary: #3f4248;--color-secondary-dark-1: #46494f;--color-secondary-dark-2: #4f5259;--color-secondary-dark-3: #5e626a;--color-secondary-dark-4: #6f747d;--color-secondary-dark-5: #7d828c;--color-secondary-dark-6: #8b8f98;--color-secondary-dark-7: #999da4;--color-secondary-dark-8: #a8abb1;--color-secondary-dark-9: #aeb1b8;--color-secondary-dark-10: #bbbec3;--color-secondary-dark-11: #c8cacf;--color-secondary-dark-12: #d2d4d7;--color-secondary-dark-13: #d5d6d9;--color-secondary-light-1: #35373c;--color-secondary-light-2: #2c2e32;--color-secondary-light-3: #1f2124;--color-secondary-light-4: #191a1c;--color-secondary-alpha-10: #3f424819;--color-secondary-alpha-20: #3f424833;--color-secondary-alpha-30: #3f42484b;--color-secondary-alpha-40: #3f424866;--color-secondary-alpha-50: #3f424880;--color-secondary-alpha-60: #3f424899;--color-secondary-alpha-70: #3f4248b3;--color-secondary-alpha-80: #3f4248cc;--color-secondary-alpha-90: #3f4248e1;--color-secondary-button: var(--color-secondary-dark-4);--color-secondary-hover: var(--color-secondary-dark-3);--color-secondary-active: var(--color-secondary-dark-2);--color-console-fg: #f8f8f8;--color-console-fg-subtle: #c1c3c8;--color-console-bg: #191a1c;--color-console-border: #313338;--color-console-hover-bg: #2a2c30;--color-console-active-bg: #313338;--color-console-menu-bg: #292b2e;--color-console-menu-border: #46494f;--color-console-link: #969aa1;--color-red: #cc4848;--color-orange: #cc580c;--color-yellow: #cc9903;--color-olive: #91a313;--color-green: #87ab63;--color-teal: #00918a;--color-blue: #3a8ac6;--color-violet: #906ae1;--color-purple: #b259d0;--color-pink: #d22e8b;--color-brown: #a47252;--color-black: #202225;--color-red-light: #d15a5a;--color-orange-light: #f6a066;--color-yellow-light: #eaaf03;--color-olive-light: #abc016;--color-green-light: #93b373;--color-teal-light: #00b6ad;--color-blue-light: #4e96cc;--color-violet-light: #9b79e4;--color-purple-light: #ba6ad5;--color-pink-light: #d74397;--color-brown-light: #b08061;--color-black-light: #45484e;--color-red-dark-1: #c23636;--color-orange-dark-1: #f38236;--color-yellow-dark-1: #b88a03;--color-olive-dark-1: #839311;--color-green-dark-1: #7a9e55;--color-teal-dark-1: #00837c;--color-blue-dark-1: #347cb3;--color-violet-dark-1: #7b4edb;--color-purple-dark-1: #a742c9;--color-pink-dark-1: #be297d;--color-brown-dark-1: #94674a;--color-black-dark-1: #2e3033;--color-red-dark-2: #ad3030;--color-orange-dark-2: #f16e17;--color-yellow-dark-2: #a37a02;--color-olive-dark-2: #74820f;--color-green-dark-2: #6c8c4c;--color-teal-dark-2: #00746e;--color-blue-dark-2: #2e6e9f;--color-violet-dark-2: #6733d6;--color-purple-dark-2: #9834b9;--color-pink-dark-2: #a9246f;--color-brown-dark-2: #835b42;--color-black-dark-2: #292b2e;--color-ansi-black: #202225;--color-ansi-red: #cc4848;--color-ansi-green: #87ab63;--color-ansi-yellow: #cc9903;--color-ansi-blue: #3a8ac6;--color-ansi-magenta: #d22e8b;--color-ansi-cyan: #00918a;--color-ansi-white: var(--color-console-fg-subtle);--color-ansi-bright-black: #45484e;--color-ansi-bright-red: #d15a5a;--color-ansi-bright-green: #93b373;--color-ansi-bright-yellow: #eaaf03;--color-ansi-bright-blue: #4e96cc;--color-ansi-bright-magenta: #d74397;--color-ansi-bright-cyan: #00b6ad;--color-ansi-bright-white: var(--color-console-fg);--color-series-16-0: #7db233;--color-series-16-1: #499a37;--color-series-16-2: #ce4751;--color-series-16-3: #8f9121;--color-series-16-4: #ac32a6;--color-series-16-5: #7445e9;--color-series-16-6: #c67d28;--color-series-16-7: #4db392;--color-series-16-8: #aa4d30;--color-series-16-9: #2a6f84;--color-series-16-10: #c45327;--color-series-16-11: #3d965c;--color-series-16-12: #792a93;--color-series-16-13: #439d73;--color-series-16-14: #103aad;--color-series-16-15: #982e85;--color-grey: #3d3f44;--color-grey-light: #898d96;--color-gold: #b1983b;--color-white: #ffffff;--color-diff-added-fg: #93b373;--color-diff-added-linenum-bg: #274227;--color-diff-added-row-bg: #203224;--color-diff-added-row-border: #314a37;--color-diff-added-word-bg: #3c653c;--color-diff-moved-row-bg: #818044;--color-diff-moved-row-border: #bcca6f;--color-diff-removed-fg: #fb5f5b;--color-diff-removed-linenum-bg: #482121;--color-diff-removed-row-bg: #301e1e;--color-diff-removed-row-border: #634343;--color-diff-removed-word-bg: #6f3333;--color-diff-inactive: #25272a;--color-error-border: #763232;--color-error-bg: #322226;--color-error-bg-active: #49262a;--color-error-bg-hover: #3c2427;--color-error-text: #f85149;--color-success-border: #225633;--color-success-bg: #1c3329;--color-success-text: #3fb950;--color-warning-border: #5f481a;--color-warning-bg: #342e1f;--color-warning-text: #d29922;--color-info-border: #254a7e;--color-info-bg: #1b283a;--color-info-text: #2f81f7;--color-priority-border: #4a268d;--color-priority-bg: #251c39;--color-priority-text: #a371f7;--color-red-badge: #db2828;--color-red-badge-bg: #db28281a;--color-red-badge-hover-bg: #db28284d;--color-green-badge: #21ba45;--color-green-badge-bg: #21ba451a;--color-green-badge-hover-bg: #21ba454d;--color-yellow-badge: #fbbd08;--color-yellow-badge-bg: #fbbd081a;--color-yellow-badge-hover-bg: #fbbd084d;--color-orange-badge: #f2711c;--color-orange-badge-bg: #f2711c1a;--color-orange-badge-hover-bg: #f2711c4d;--color-git: #f05133;--color-logo: #609926;--color-body: #1e1f20;--color-box-header: #1b1c1e;--color-box-body: #161718;--color-box-body-highlight: #202124;--color-text-dark: #f8f8f8;--color-text: #d2d4d8;--color-text-light: #c0c2c7;--color-text-light-1: #aaadb4;--color-text-light-2: #969aa1;--color-text-light-3: #80858f;--color-footer: var(--color-nav-bg);--color-timeline: #383b40;--color-input-text: var(--color-text-dark);--color-input-background: #191a1c;--color-input-toggle-background: #323438;--color-input-border: var(--color-secondary-dark-1);--color-light: #0b0b0c28;--color-light-border: #f3f3f428;--color-hover: #f3f3f419;--color-hover-opaque: #232528;--color-active: #f3f3f424;--color-menu: #191a1c;--color-card: #191a1c;--color-markup-table-row: #f3f3f40f;--color-markup-code-block: #f3f3f412;--color-markup-code-inline: #f3f3f428;--color-button: #191a1c;--color-code-bg: #161718;--color-shadow: #0b0b0c58;--color-shadow-opaque: #0b0b0c;--color-secondary-bg: #2e3033;--color-expand-button: #333539;--color-placeholder-text: var(--color-text-light-3);--color-editor-line-highlight: var(--color-secondary-alpha-40);--color-editor-selection: var(--color-primary-alpha-50);--color-project-column-bg: var(--color-secondary-light-2);--color-caret: var(--color-text);--color-reaction-bg: #f3f3f412;--color-reaction-hover-bg: var(--color-primary-light-4);--color-reaction-active-bg: var(--color-primary-light-5);--color-tooltip-text: #fafafa;--color-tooltip-bg: #0b0b0cf0;--color-nav-bg: #18191b;--color-nav-hover-bg: var(--color-secondary-light-1);--color-nav-text: var(--color-text);--color-secondary-nav-bg: #1a1b1e;--color-label-text: var(--color-text);--color-label-bg: #7a7f8a4b;--color-label-hover-bg: #7a7f8aa0;--color-label-active-bg: #7a7f8aff;--color-accent: var(--color-primary-light-1);--color-small-accent: var(--color-primary-light-5);--color-highlight-fg: #87651e;--color-highlight-bg: #443a27;--color-overlay-backdrop: #080808c0;--color-danger: var(--color-red);--color-transparency-grid-light: #2a2a2a;--color-transparency-grid-dark: #1a1a1a;--color-workflow-edge-hover: #666a73;--color-syntax-keyword: #ff8854;--color-syntax-bool: #25bbc9;--color-syntax-control: #dd9e17;--color-syntax-name: #fabd2f;--color-syntax-type: #eb8cb3;--color-syntax-number: #63b2dd;--color-syntax-operator: #ff8854;--color-syntax-regexp: #b89de4;--color-syntax-string: #95b62a;--color-syntax-comment: #8898b0;--color-syntax-invalid: #ff8686;--color-syntax-link: var(--color-primary);--color-syntax-tag: #ff8854;--color-syntax-attribute: #c792ff;--color-syntax-property: #55afff;--color-syntax-variable: #e29b33;--color-syntax-string-special: #dd9e17;--color-syntax-escape: #c7a618;--color-syntax-entity: #c792ff;--color-syntax-preproc: #4cbe7a;--color-syntax-preproc-file: #63b2dd;--color-syntax-decorator: #4cbe7a;--color-syntax-namespace: #c9d1d9;--color-syntax-name-pseudo: #c792ff;--color-syntax-comment-special: #b89de4;--color-syntax-text: #c9d1d9;--color-syntax-text-alt: #b9bcc7;--color-syntax-punctuation: #d2d4db;--color-syntax-whitespace: #7f8699;--color-syntax-diff-fg: #ffffff;--color-syntax-deleted-bg: #5f3737;--color-syntax-inserted-bg: #3a523a;--color-syntax-emph: #d1a242;--color-syntax-strong: #e29b33;--color-syntax-heading: #dd9e17;--color-syntax-subheading: #95b62a;--color-syntax-output: #8898b0;--color-syntax-prompt: #e29b33;--color-syntax-traceback: #ff8686;--color-syntax-matching-bracket-bg: #00918a48;--color-syntax-nonmatching-bracket-bg: #cc484848;accent-color:var(--color-accent);color-scheme:dark}.emoji[aria-label="check mark"],.emoji[aria-label="currency exchange"],.emoji[aria-label="TOP arrow"],.emoji[aria-label="END arrow"],.emoji[aria-label="ON! arrow"],.emoji[aria-label="SOON arrow"],.emoji[aria-label="heavy dollar sign"],.emoji[aria-label=copyright],.emoji[aria-label=registered],.emoji[aria-label="trade mark"],.emoji[aria-label=multiply],.emoji[aria-label=plus],.emoji[aria-label=minus],.emoji[aria-label=divide],.emoji[aria-label="curly loop"],.emoji[aria-label="double curly loop"],.emoji[aria-label="wavy dash"],.emoji[aria-label="paw prints"],.emoji[aria-label="musical note"],.emoji[aria-label="musical notes"]{filter:invert(100%) hue-rotate(180deg)}

/* Glutea DARK overrides. Applied on top of upstream/css/theme-gitea-dark.css by scripts/build-themes.mjs.
 *
 * Same discipline as glutea-light.css: only Gitea's own --color-* names, with
 * values moved toward the handoff. Two differences are structural, not stylistic:
 *
 *  - Gitea's primary ramp INVERTS between schemes. In both themes -dark-N is the
 *    direction of MORE contrast against the page, so in this file -dark-N runs
 *    toward white and -light-N toward black, matching upstream's own dark theme
 *    (verified against #4183c4: light dark-1 #3876b3, dark dark-1 #548fca).
 *    --color-primary-hover resolves to --color-primary-light-1 here, so that
 *    variable must stay a sane hover, not the far end of a ramp.
 *  - The accent is the handoff teal lifted to #19cf9f. #12a37e is 6.03:1 here
 *    and would pass, but it sits dull against a near-black canvas; the lifted
 *    value keeps the hue and reads as the same brand colour in both schemes.
 *
 * THE FILE HAS TWO PARTS, AND THEY COST DIFFERENT AMOUNTS ON AN UPGRADE.
 * Same split as glutea-light.css: the :root block assigns VALUES to variables
 * Gitea already defines; the marked section at the end carries RULES, which
 * override Gitea's own declarations and are therefore pinned to upstream
 * markup and CSS. A value is always preferred; each rule says why one would
 * not do and what would let us delete it.
 */
/* ==========================================================================
   FACES - the two self-hosted families, declared before the values that name
   them. Files, licences and the subsetting rationale:
   custom-root/public/assets/fonts/README.md.

   No CDN and no external request: a Glutea install has to render correctly
   with no outbound network, so every src below is a local file.

   Paths are RELATIVE, and that is what makes a sub-path install work. A
   relative url() resolves against the stylesheet's own URL, and this file is
   served as <StaticUrlPrefix>/assets/css/theme-glutea-<scheme>.css, so
   ../fonts/x.woff2 lands on <StaticUrlPrefix>/assets/fonts/x.woff2 whatever
   ROOT_URL, sub-path or STATIC_URL_PREFIX the instance is configured with.
   An absolute /assets/... would break the moment Gitea is mounted under a
   sub-path, and the Go template helpers ({{AssetUrlPrefix}}) are not available
   here because build-themes.mjs emits plain CSS, not a template.

   Both faces are VARIABLE fonts, so one file covers the whole weight range and
   font-weight is declared as that range rather than a single number. Gitea
   asks for 400/500/600/700 in different places and all four interpolate from
   the same file.

   Two files per face, split latin / latin-ext, with the unicode-range
   descriptors the subsets were cut on: the browser fetches latin-ext only for
   a page that needs it. This split is load-bearing here, not an optimisation -
   Romanian's s-comma, t-comma and a-breve live in latin-ext while its
   i-circumflex and a-circumflex live in latin, so dropping either file would
   break Romanian content in a way English content would never reveal.

   font-display: swap - text paints immediately in the system stack that
   --fonts-proportional/--fonts-monospace already name behind these families,
   and reflows when the file lands. Never invisible text.
   ========================================================================== */

/* Figtree 2.002, variable wght 300-900. SIL OFL 1.1. UI text. */
@font-face {
  font-family: "Figtree";
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url("../fonts/figtree-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: "Figtree";
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url("../fonts/figtree-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;
}

/* JetBrains Mono 2.211, variable wght 100-800. SIL OFL 1.1. Code and hashes. */
@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("../fonts/jetbrains-mono-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: "JetBrains Mono";
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("../fonts/jetbrains-mono-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;
}

:root {
  /* Visual tokens from .inspiration; semantics stay independent of accent. */
  --glutea-accent: #12a37e;
  --glutea-accent-secondary: #6f7cf5;
  --glutea-bg-secondary: #13141a;
  --glutea-surface-raised: rgba(24,25,32,.96);
  --glutea-muted: #8f8e89;
  --glutea-faint: #5c5b58;
  --glutea-line: rgba(255,255,255,.08);
  --glutea-line-strong: rgba(255,255,255,.14);
  --glutea-open: #3fb950;
  --glutea-closed: #a371f7;
  --glutea-merged: #a371f7;
  --glutea-draft: #8f8e89;
  --glutea-add: #3ecf8e;
  --glutea-delete: #ff6b70;
  --glutea-label-lightness: .35;
  --glutea-label-chroma: .08;
  --glutea-label-scope-lightness: .45;
  --glutea-label-scope-chroma: .12;
  --glutea-label-ink-lightness: .88;
  --glutea-label-ink-chroma: .12;

  --fonts-proportional: Figtree, -apple-system, "Segoe UI", system-ui, Roboto, "Helvetica Neue", Arial;
  --fonts-monospace: "JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace, var(--fonts-emoji);

  /* Brand. --color-primary-contrast is near-black because white on a teal this
     light is 1.9:1; the button label has to be the dark one. */
  --color-primary: #19cf9f;
  --color-primary-contrast: #05201a;
  --color-primary-dark-1: #20e4b0;
  --color-primary-dark-2: #39e7b9;
  --color-primary-dark-3: #51eac2;
  --color-primary-dark-4: #6aedcb;
  --color-primary-dark-5: #9cf3dc;
  --color-primary-dark-6: #cdf9ee;
  --color-primary-dark-7: #f0fdfa;
  --color-primary-light-1: #17ba8f;
  --color-primary-light-2: #14a67f;
  --color-primary-light-3: #11916f;
  --color-primary-light-4: #0f7c5f;
  --color-primary-light-5: #0a5340;
  --color-primary-light-6: #052920;
  --color-primary-light-7: #020c0a;
  --color-primary-alpha-10: #19cf9f19;
  --color-primary-alpha-20: #19cf9f33;
  --color-primary-alpha-30: #19cf9f4b;
  --color-primary-alpha-40: #19cf9f66;
  --color-primary-alpha-50: #19cf9f80;
  --color-primary-alpha-60: #19cf9f99;
  --color-primary-alpha-70: #19cf9fb3;
  --color-primary-alpha-80: #19cf9fcc;
  --color-primary-alpha-90: #19cf9fe1;

  --color-accent: #19cf9f;
  --color-small-accent: #0a5340;

  /* Neutral ramp on the handoff's cool near-black. --color-secondary is the
     edge colour; in dark it must be light enough to read as an edge (3:1 for
     UI) without becoming a line. */
  --color-secondary: #33353d;
  --color-secondary-dark-1: #3b3e46;
  --color-secondary-dark-2: #454850;
  --color-secondary-dark-3: #53565f;
  --color-secondary-dark-4: #63666f;
  --color-secondary-dark-5: #72757e;
  --color-secondary-dark-6: #80838c;
  --color-secondary-dark-7: #8e9199;
  --color-secondary-dark-8: #9c9fa6;
  --color-secondary-dark-9: #a9acb2;
  --color-secondary-dark-10: #b7b9bf;
  --color-secondary-dark-11: #c4c6cb;
  --color-secondary-dark-12: #d2d3d7;
  --color-secondary-dark-13: #dcdde0;
  --color-secondary-light-1: #2b2d34;
  --color-secondary-light-2: #23252b;
  --color-secondary-light-3: #1b1d22;
  --color-secondary-light-4: #15171b;
  --color-secondary-alpha-10: #33353d19;
  --color-secondary-alpha-20: #33353d33;
  --color-secondary-alpha-30: #33353d4b;
  --color-secondary-alpha-40: #33353d66;
  --color-secondary-alpha-50: #33353d80;
  --color-secondary-alpha-60: #33353d99;
  --color-secondary-alpha-70: #33353db3;
  --color-secondary-alpha-80: #33353dcc;
  --color-secondary-alpha-90: #33353de1;

  /* Surfaces. Boxes sit a step ABOVE the page (lighter), which is how depth
     reads on a dark canvas; the handoff's translucent --surface is the same
     idea expressed as alpha over the page. */
  --color-body: #0d0e12;
  --color-box-header: #16181d;
  --color-box-body: #131419;
  --color-box-body-highlight: #1b1d23;
  --color-card: #131419;
  --color-menu: #131419;
  --color-secondary-bg: #1c1e24;
  --color-nav-bg: #101116;
  --color-nav-hover-bg: #1c1e24;
  --color-secondary-nav-bg: #121317;
  --color-input-background: #15171b;
  --color-input-border: #686b74;
  --color-input-toggle-background: #686b74;
  --color-button: #16181d;
  --color-code-bg: #0a0b0f;
  --color-console-bg: #0a0b0f;
  --color-console-fg: #ecebe6;
  --color-console-border: #33353d;
  --color-timeline: #33353d;
  --color-expand-button: #23252b;
  --color-project-column-bg: #16181d;

  /* Text. --color-text-light-3 feeds ::placeholder, so it clears AA against the
     LIGHTEST dark surface (--color-secondary-bg #1c1e24), not merely against the
     page: 4.76:1 there, 5.51:1 on the canvas. The handoff's decorative faint
     #5c5b58 is 2.84:1 and cannot carry text. */
  --color-text-dark: #ffffff;
  --color-text: #ecebe6;
  --color-text-light: #d5d4cf;
  --color-text-light-1: #b3b2ad;
  --color-text-light-2: #a09f99;
  --color-text-light-3: #8a8985;
  /* See the light theme for why this is mapped: upstream points
     --color-input-text at --color-text-dark, which is pure white here, and
     Gitea's own input rule outranks a component class. */
  --color-input-text: var(--color-text);

  --color-light: #0b0b0c28;
  --color-light-border: #ffffff1f;
  --color-hover: #7f7f7f14;
  --color-hover-opaque: #1c1e24;
  --color-active: #ffffff1f;
  --color-shadow: #00000066;
  --color-shadow-opaque: #05060a;
  --color-reaction-bg: #ffffff12;
  --color-markup-table-row: #ffffff0f;
  --color-markup-code-block: #ffffff12;
  --color-markup-code-inline: #ffffff1f;
  --color-label-bg: #ffffff1f;
  --color-label-hover-bg: #ffffff33;
  --color-label-active-bg: #ffffff4d;

  /* Semantic state colours. Fixed by the handoff and never derived from the
     accent; these are the handoff's dark values unchanged.

     A trade-off is recorded here rather than hidden. Gitea uses one variable
     for two jobs with opposite contrast needs: as page text (`.tw-text-red`,
     the required-field asterisk, diff stat counts) it must be light enough to
     read on a dark surface, and as the solid label fill it is paired with a
     hardcoded --color-white (the `.ui.ui.ui.green.label` rule sets background
     to var(--color-green) and color to var(--color-white)). Searching candidates
     across L .25-.75 and S +-.25 found NO value that clears 4.5:1 both ways,
     for any of the three hues. Stock Gitea does not clear it either: its dark
     green scores 2.61 under white text and its red 3.61 as page text.

     So these are tuned for the dominant, product-wide use - text on the page,
     4.97-6.56:1 on every dark surface - and the solid label keeps the handoff
     colour it was designed with.

     The other half of that trade-off is now closed by RULE 2 at the end of
     this file: white on the solid green label was 2.54:1, and rather than
     move a variable that page text depends on, the LABEL's ink is overridden
     for the solid state fills only. These values therefore stay tuned for
     text, and the label pair passes on its own terms. */
  --color-green: #3fb950;
  --color-green-light: #57c765;
  --color-green-dark-1: #35a745;
  --color-green-dark-2: #2d9139;
  --color-red: #ff6b70;
  --color-red-light: #ff8589;
  --color-red-dark-1: #f0555a;
  --color-red-dark-2: #d94549;
  --color-purple: #a371f7;
  --color-purple-light: #b48bf9;
  --color-purple-dark-1: #9159ef;
  --color-purple-dark-2: #7f45e2;
  --color-violet: #a371f7;
  --color-violet-light: #b48bf9;

  --color-green-badge: #3fb950;
  --color-green-badge-bg: #3fb9501a;
  --color-green-badge-hover-bg: #3fb9504d;
  --color-red-badge: #ff6b70;
  --color-red-badge-bg: #ff6b701a;
  --color-red-badge-hover-bg: #ff6b704d;

  --color-success-border: #3fb95066;
  --color-success-bg: #12271a;
  --color-success-text: #3fb950;
  --color-error-border: #ff6b7066;
  --color-error-bg: #2b1719;
  --color-error-bg-hover: #3a1d20;
  --color-error-bg-active: #4a2427;
  --color-error-text: #ff6b70;
  --color-warning-border: #d2992266;
  --color-warning-bg: #2b2415;
  --color-warning-text: #e0a92c;
  --color-info-border: #19cf9f66;
  --color-info-bg: #0f2620;
  --color-info-text: #19cf9f;
  --color-priority-border: #a371f766;
  --color-priority-bg: #1f1830;
  --color-priority-text: #a371f7;

  --color-diff-added-fg: #3ecf8e;
  --color-diff-added-row-bg: #12271c;
  --color-diff-added-row-border: #1e3b2a;
  --color-diff-added-linenum-bg: #17311f;
  --color-diff-added-word-bg: #2c5c3c;
  --color-diff-removed-fg: #ff6b70;
  --color-diff-removed-row-bg: #2a1618;
  --color-diff-removed-row-border: #45262a;
  --color-diff-removed-linenum-bg: #3a1d20;
  --color-diff-removed-word-bg: #66312f;
  --color-diff-inactive: #16181d;

  --border-radius: 8px;
  --border-radius-medium: 12px;

  /* ---- The card surface -------------------------------------------------
     The light file carries the full rationale for why these four are new
     names rather than Gitea variables. The VALUES are the handoff's dark
     set and are genuinely different, not a tint of the light ones:

       --surface  rgba(255,255,255,.045)   a lightening wash, not a white card
       --shadow   0 1px 2px rgba(0,0,0,.3), 0 16px 40px -16px rgba(0,0,0,.6)

     On a dark canvas depth reads as a surface sitting ABOVE the page, so the
     wash is white at very low alpha; using the light scheme's .72 white here
     would produce a near-white card, and using --color-box-body's opaque
     #131419 would lose the glass entirely. The shadow is deeper and larger
     because a dark scheme has less luminance range to spend on an edge.

     Contrast over the composited result. The worst case is the card over a
     dot pixel, and the dots are themselves masked to at most half strength,
     so the true floor is dot alpha .04 rather than .08:
       --color-text  #ecebe6  13.31:1
       muted         #8f8e89   4.84:1
     Both clear 4.5:1. The muted value is the tightest number in either
     scheme and is the one to re-check if the dot alpha or the surface alpha
     ever moves: at full-strength dots it would fall to 4.29:1 and fail. */
  --glutea-card-radius: 18px;
  --glutea-card-bg: rgba(255, 255, 255, 0.045);
  --glutea-card-blur: blur(16px);
  --glutea-card-shadow: 0 1px 2px rgba(0, 0, 0, 0.3), 0 16px 40px -16px rgba(0, 0, 0, 0.6);

  /* ---- The control radius -----------------------------------------------
     A FIFTH new name, for the same reason as the four above: no Gitea variable
     can carry it.

     --border-radius is 8px and is Gitea's INPUT and chip radius, applied by its
     own base stylesheet to inputs, dropdowns and menus across every untouched
     page. --border-radius-medium is 12px and is read by exactly two upstream
     rules in 1.27.3, one of which is `.issue-state-label` - pushing a BUTTON
     radius through it would round the issue state pill into a lozenge, which is
     the same trap the card radius had to be given its own token to avoid.

     12px is the handoff's button figure, not ours. Its control vocabulary sits
     at 11-13px (design-craft §1, "Buttons 38-44px tall, radius 11-13px"), and
     the interactive mock puts 32 elements at 11px and 31 at 12px against 40 at
     8px for things that are not controls - so 8 was Gitea's number surviving in
     a Glutea component, and the mid-grey 1px edge on an 8px near-white
     rectangle read as a stock outlined button. Measured on the original's
     secondary control: border-radius 12px, background rgba(255,255,255,.72).

     Used by Button and by the screens' button-shaped links, and deliberately
     NOT by TextField, Pagination or FormMessage, which are the input/chip
     family --border-radius already answers for. */
  --glutea-control-radius: 12px;

  --glutea-dot-color: rgba(255, 255, 255, 0.08);
  --glutea-dot-size: 28px;
}

/* ==========================================================================
   RULES - selector overrides, not values. Read the header note first.
   Everything above assigns to a variable Gitea defines. Everything below
   overrides one of Gitea's own declarations, so it is pinned to upstream
   markup or upstream CSS and is re-checked on every Gitea upgrade.
   ========================================================================== */

/* RULE 1 - A closed ISSUE is purple; a closed PULL REQUEST stays red.
 *
 * Identical to the light scheme's RULE 1, and for the same reason:
 * upstream/templates/repo/issue/view_title.tmpl:45 renders closed issues and
 * closed PRs from ONE line with an identical class list, differing only in
 * the icon that modules/svg/svg.go:69 emits as `class="svg <icon-name>"`. No
 * variable can separate them, so the split is made on the icon. A closed PR
 * keeps --color-red; a red label elsewhere is untouched.
 *
 * Delete when: upstream distinguishes the two states itself, or the issue
 * detail screen becomes a Glutea island drawing its own state pill.
 */
.ui.ui.ui.red.label.issue-state-label:has(> .octicon-issue-closed) {
  background: var(--color-purple);
  border-color: var(--color-purple);
  color: #08090c;
}

/* RULE 2 - Solid state labels get dark ink instead of hardcoded white.
 *
 * Why not a value: upstream/web_src/css/modules/label.css:110-210 pairs each
 * solid fill with a HARDCODED `color: var(--color-white)`. The same
 * --color-<hue> variable is ALSO page text (.tw-text-red, the required-field
 * asterisk, diff stat counts), where on a dark canvas it must stay light. The
 * two uses need opposite contrast, so - as the note in the state-colour block
 * above records - no hue-preserving value clears 4.5:1 both ways, for any of
 * the three hues, and stock Gitea does not clear it either. Overriding the
 * LABEL's ink fixes the pair without touching the variable body text reads.
 *
 * Every solid fill in this scheme is a light, saturated colour, so all five
 * hues take the dark ink #08090c. Measured:
 *   green 7.59  red 6.97  purple 5.75  orange 4.56  yellow 7.46
 *   hover: green 6.21  red 5.65  purple 4.63  orange 7.40  yellow 6.13
 * (white on those same fills was 2.54 / 2.77 / 3.35 / 4.23 / 2.58.)
 *
 * The ink is written literally rather than given a name. It is not a Gitea
 * variable, and this theme deliberately has no vocabulary of its own (see
 * .docs/decisions.md, "The theme upgrades Gitea's variables"); a one-off
 * constant used by this rule alone is honest about being part of the rule.
 * #08090c is the first step that clears 4.5:1 on every solid fill AND every
 * -dark-1 hover fill - the binding pair is --color-purple-dark-1, which
 * #0d0e12 would leave at 4.48.
 *
 * Grey is deliberately absent: `.ui.ui.ui.grey.label` is --color-label-bg
 * with --color-label-text, not a solid state fill, and already passes.
 *
 * Delete when: upstream stops hardcoding --color-white on solid labels, or
 * derives label ink from the fill's lightness itself.
 */
.ui.ui.ui.green.label,
.ui.ui.ui.red.label,
.ui.ui.ui.purple.label,
.ui.ui.ui.orange.label,
.ui.ui.ui.yellow.label,
a.ui.ui.ui.green.label:hover,
a.ui.ui.ui.red.label:hover,
a.ui.ui.ui.purple.label:hover,
a.ui.ui.ui.orange.label:hover,
a.ui.ui.ui.yellow.label:hover {
  color: #08090c;
}

/* The `basic` variants are transparent-background text labels, so they must
 * keep the hue as their COLOUR. The rule above would otherwise swallow them:
 * `.ui.ui.ui.basic.green.label` (0,6,0) already outranks it, but the :hover
 * anchors above are (0,6,0) too and would win on order, so the basic hovers
 * are restated here rather than left to tie-breaking. */
a.ui.ui.ui.basic.green.label:hover {
  color: var(--color-green-dark-1);
}
a.ui.ui.ui.basic.red.label:hover {
  color: var(--color-red-dark-1);
}
a.ui.ui.ui.basic.orange.label:hover {
  color: var(--color-orange-dark-1);
}
a.ui.ui.ui.basic.yellow.label:hover {
  color: var(--color-yellow-dark-1);
}

/* RULE 3 - The page's dot grid, on Glutea screens only.
 *
 * The handoff draws a faint 28px lattice fading out over the top of the page.
 * It is not decoration: it is what makes a translucent card read as GLASS.
 * A blurred surface over a flat colour composites to exactly that flat colour,
 * so the grid and Card's backdrop-filter are one change in two files — remove
 * either and the other stops being visible.
 *
 * WHY HERE AND NOT IN EACH SCREEN. It was in each screen, and that was the
 * defect: the sketch gave the grid to Dashboard and to GiteaChrome, and
 * GiteaChrome is the MOCK's chrome and never ships. So the mocks had the
 * texture and the shipped home-anon and signin did not — measured on the live
 * instance at :3201, where the token resolved but no element painted a
 * radial-gradient. One rule on `.glutea-screen`, the class all three shims
 * already set, is a place that cannot drift per screen.
 *
 * Scoped to `.glutea-screen` rather than `body` so Gitea's own untouched pages
 * stay exactly as they are; that is the same containment the theme's other
 * rules keep.
 *
 * The mask is the handoff's: half strength at the top, gone by 60% down. It is
 * also load-bearing for contrast — the dots darken the ground a control's
 * border is measured against, which is why Button and Pagination sit at
 * --color-secondary-dark-5 rather than dark-4. See the comment in either.
 *
 * Behind the content and never clickable.
 *
 * Identical to the light file's rule by construction: the only thing that
 * differs between schemes is --glutea-dot-color, which each scheme's :root
 * sets (dark ink on light, a white wash on dark). The RULE is the same, and
 * the two theme files are built into two separate stylesheets, so it has to
 * be stated in both — a rule present only in the light file simply would not
 * load in dark.
 *
 * Delete when: the handoff drops the texture, or a screen needs its own.
 */
.glutea-screen {
  position: relative;
}

.glutea-screen::before {
  content: '';
  /* FIXED TO THE VIEWPORT, NOT TO THE DOCUMENT, and that is the whole point of
     the layer's geometry rather than a detail of it.

     The handoff draws the texture as `position:fixed; inset:0` over a
     `pointer-events:none` viewport sheet (.original-mocks/Gitea Theme.dc.html,
     the block commented `<!-- atmosphere -->`), so the fade is measured down
     the VIEWPORT and does not move when the page scrolls.

     This was `position: absolute; inset: 0` on .glutea-screen, which made the
     mask's 60% mean 60% of a document that grows with the feed. Measured at
     380px, darkest-pixel delta in the left gutter at y = 400/700/1000/1400/1800:
     dashboard 12/10/7/5/4 against sign-in 5/0 and the landing page 1/0. Three
     shipped screens therefore disagreed about the texture at the same pixel,
     and the SAME screen carried visibly more of it on a busy day than on a
     quiet one - a page whose ground changes with how much happened in it.

     Fixed makes the fade a property of the window, so every screen fades over
     the same number of pixels whatever its content is, which is what the
     handoff's sheet does. */
  position: fixed;
  inset: 0;
  /* BEHIND, not "at 0 with the content lifted to 1".
     The lifted-content form is what shipped in the sketch, and it broke Gitea's
     own context switcher: `user/dashboard/navbar` sits at z-index 1, so a rule
     giving every child of the screen z-index 1 tied with it, the later element
     won, and the dashboard's h1 covered the open dropdown's first link.
     Measured: elementFromPoint at the link's centre returned H1.title.
     A negative index puts the texture under its own parent's background layer
     and leaves every other element's stacking exactly as it was, so nothing on
     the page has to be lifted to clear it. */
  z-index: -1;
  pointer-events: none;
  background-image: radial-gradient(var(--glutea-dot-color, transparent) 1px, transparent 1px);
  background-size: var(--glutea-dot-size, 28px) var(--glutea-dot-size, 28px);
  mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), transparent 60%);
  -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), transparent 60%);
}

/* Shared presentation for Gitea 1.27.3. The selectors follow the native
   templates; forms, dropdowns, editors, navigation and permissions stay native.
   Palette values live in glutea-light/dark.css. */

/* Canvas, typography and spacing */
:root {
  --page-spacing: 24px;
  --page-spacing-no-h: 24px;
  --border-radius: 8px;
  --border-radius-medium: 12px;
  --color-secondary-nav-bg: transparent;
  --color-nav-bg: var(--glutea-card-bg);
  --color-nav-hover-bg: var(--color-hover);
  --color-box-header: var(--glutea-card-bg);
  --color-input-border: var(--glutea-line-strong);
  --color-light-border: var(--glutea-line);
}
body { isolation: isolate; -webkit-font-smoothing: antialiased; }
body::before {
  content: ''; position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background-image: radial-gradient(var(--glutea-line) 1px, transparent 1px);
  background-size: 28px 28px;
  mask-image: linear-gradient(to bottom, #0008, transparent 60%);
}
.glutea-screen::before { display: none; }
body, .ui.header, .ui.menu, .ui.button, .ui.form input, .ui.form textarea { font-family: var(--fonts-proportional); }
h1, h2, h3, h4, .ui.header { font-weight: 600; letter-spacing: -.025em; }
.page-content { padding-bottom: 56px; }
.page-content > .ui.container, .secondary-nav > .ui.container {
  width: min(100%, 1280px); max-width: 1280px; padding-left: 32px; padding-right: 32px;
}
.page-content > .ui.container.fluid { width: 100%; max-width: 1280px; }
.page-content > .secondary-nav { margin-bottom: 28px; background: transparent; }
.page-content:not(:has(> .secondary-nav)):not(.glutea-screen) { padding-top: 40px; }
.page-content .flex-container { gap: 28px; }
.flex-container-nav { flex-basis: 224px; }
.flex-container-main { min-width: 0; }
.glutea-page-heading { margin: 0 0 28px; font-size: clamp(30px, 4vw, 46px); line-height: 1.08; letter-spacing: -.035em; }
.glutea-page-heading + .glutea-page-description { margin-top: -14px; margin-bottom: 28px; color: var(--glutea-muted); font-size: 15.5px; }
.ui.divider, .ui.dividing.header { border-color: var(--glutea-line); }
::selection, relative-time::part(root)::selection { color: var(--color-text); background: color-mix(in srgb, var(--glutea-accent) 25%, var(--color-body)); text-shadow: none; }
:is(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
  outline: 2px solid var(--color-primary); outline-offset: 3px;
}
input[type='checkbox'], input[type='radio'], progress { accent-color: var(--glutea-accent); }
:is(h1, h2, h3, [id]) { scroll-margin-top: 84px; }

/* Platform and workspace navigation */
#navbar.glutea-platform {
  min-height: 64px; padding: 0 max(24px, calc((100vw - 1216px) / 2)); gap: 16px;
  /* Keep navigation above page menus, below Gitea's modal dimmer and toasts. */
  position: sticky; top: 0; z-index: calc(var(--z-index-modal) - 2);
  background: var(--glutea-card-bg); backdrop-filter: blur(18px) saturate(1.4);
  border-bottom: 1px solid var(--glutea-line); box-shadow: none;
}
#navbar .navbar-left, #navbar .navbar-right { gap: 10px; }
#navbar .item { border-radius: 10px; font-size: 14px; font-weight: 500; }
#navbar #navbar-logo { display: flex; gap: 10px; padding-left: 0; }
#navbar-logo img { width: 30px; height: 30px; border-radius: 9px; }
.glutea-site-name { font-size: 19px; font-weight: 700; letter-spacing: -.02em; color: var(--color-text); }
#navbar [data-ui='WorkspaceSwitcher'] { min-height: 40px; border: 1px solid var(--glutea-line); border-radius: 12px; background: var(--glutea-card-bg); }
#navbar [data-ui='WorkspaceSwitcher'] .workspace-home { height: 38px; padding-left: 6px; font-size: 14.5px; }
#navbar [data-ui='WorkspaceSwitcher'] .workspace-toggle { width: 36px; border-color: var(--glutea-line); }
#navbar .navbar-right > .item:has(.octicon-plus), #navbar .notification-button {
  min-height: 38px; border: 1px solid var(--glutea-line); background: var(--glutea-card-bg); border-radius: 12px;
}
#navbar .navbar-avatar > img { width: 38px; height: 38px; border-radius: 12px; }
.glutea-context-nav { background: var(--glutea-bg-secondary); border-bottom: 1px solid var(--glutea-line); }
.glutea-context-nav .ui.secondary.menu { min-height: 54px; max-width: 1280px; padding: 8px 32px; }
.glutea-context-tabs > .item { border-radius: 10px; font-size: 14.5px; padding: 9px 14px; }
.glutea-context-tabs > .active.item { color: var(--color-text); background: var(--color-active); }
body .ui.dropdown .menu, body .ui.menu .dropdown.item .menu, body .tippy-box:not([data-theme~='tooltip']) {
  border: 1px solid var(--glutea-line-strong); border-radius: 14px;
  background: var(--glutea-surface-raised); box-shadow: var(--glutea-card-shadow); backdrop-filter: blur(20px);
}
/* Short labels need a compact bubble; dropdown surfaces make their corners
   collide with the native arrow when Popper shifts them near a screen edge. */
body .tippy-box[data-theme~='tooltip'] { border: 0; border-radius: 6px; font-family: var(--fonts-proportional); font-size: 12px; line-height: 18px; box-shadow: 0 2px 6px var(--color-shadow); }
body .tippy-box[data-theme~='tooltip'] > .tippy-content { padding: 6px 10px; overflow-wrap: anywhere; }
body .ui.dropdown .menu { padding: 6px; }
body .ui.dropdown .menu > .item { border-radius: 8px; padding: 10px 12px !important; font-size: 14px; }
body .ui.dropdown .menu > .item:hover { background: var(--color-hover); }
body .ui.dropdown .menu > .header { text-transform: none; letter-spacing: 0; color: var(--glutea-muted); }
body .ui.dropdown .menu > .divider { margin: 6px -6px; border-color: var(--glutea-line); }

/* Buttons and forms: faint edges, solid accent, no decorative button shadows. */
body .ui.button {
  min-height: 38px; padding: 10px 15px; border-radius: 12px; font-size: 14px; font-weight: 500;
  background: var(--glutea-card-bg); border: 1px solid var(--glutea-line); color: var(--color-text);
  box-shadow: none; transition: background-color .15s, border-color .15s;
}
body .ui.basic.button { background: var(--glutea-card-bg); border-color: var(--glutea-line); box-shadow: none; }
body .ui.button:hover, body .ui.basic.button:hover { background: var(--color-hover); border-color: var(--glutea-line-strong); box-shadow: none; }
body .ui.primary.button, body .ui.primary.buttons .button {
  background: var(--glutea-accent); border-color: transparent; color: #fff; box-shadow: none;
}
body .ui.primary.button:hover, body .ui.primary.buttons .button:hover { background: color-mix(in srgb, var(--glutea-accent), #000 10%); }
body .ui.red.button, body .ui.negative.button { color: var(--color-red); background: var(--color-red-badge-bg); border-color: var(--color-red-badge-bg); }
body .ui.button:is(.red, .negative):not(.basic):is(:hover, :focus-visible, :active, .active) {
  color: #fff; background: var(--color-red-dark-2); border-color: var(--color-red-dark-2);
}
body .ui.green.button, body .ui.positive.button { background: var(--glutea-accent); color: #fff; border-color: transparent; }
body .ui.icon.button { padding: 10px; }
body .ui.mini.button, body .ui.tiny.button { min-height: 32px; padding: 7px 10px; font-size: 12px; border-radius: 9px; }
body .ui.labeled.button { border: 0; padding: 0; background: transparent; }
body .ui.labeled.button > .button { border-radius: 12px 0 0 12px; }
body .ui.labeled.button > .label { border: 1px solid var(--glutea-line); border-left: 0; border-radius: 0 12px 12px 0; background: var(--glutea-card-bg); font: 12px var(--fonts-monospace); padding: 0 10px; }
body .ui.buttons:not(.vertical) > .button { border-radius: 0; }
body .ui.buttons:not(.vertical) > .button:first-child { border-radius: 12px 0 0 12px; }
body .ui.buttons:not(.vertical) > .button:last-child { border-radius: 0 12px 12px 0; }
body .ui.form :is(input:not([type='checkbox'], [type='radio'], [type='hidden']), textarea), body .ui.input > input {
  border-radius: 11px; background: var(--glutea-card-bg); border-color: var(--glutea-line-strong); font-size: 14px; padding: 10px 13px;
}
body .ui.input > input { min-height: 38px; }
body .ui.action.input > input { border-radius: 11px 0 0 11px; }
body .ui.action.input > .button:last-child { border-radius: 0 11px 11px 0; }
body .ui.form textarea { line-height: 1.65; }
body .ui.form .field > label { font-weight: 600; margin-bottom: 9px; }
body .ui.form .field { margin-bottom: 22px; }
body .ui.form .field .help { color: var(--glutea-muted); margin-top: 8px; line-height: 1.6; }
body .ui.form input:focus, body .ui.form textarea:focus, body .ui.input input:focus { border-color: var(--color-primary); background: var(--glutea-surface-raised); }
body .ui.selection.dropdown { min-height: 40px; border-color: var(--glutea-line-strong); border-radius: 11px; background: var(--glutea-card-bg); }
body .ui.label:not(.issue-state-label, .scope-parent, .scope-left, .scope-right) { border-radius: 999px; font-weight: 500; }
body .ui.basic.label:not(.issue-state-label) { border-color: var(--glutea-line-strong); }
body .ui.menu .item > .label { font: 11.5px var(--fonts-monospace); padding: 2px 6px; min-width: 20px; background: var(--color-active); }
kbd, .sha, .commit-id, .branch, .branches .branch { font-family: var(--fonts-monospace); font-size: 12px; border-radius: 6px; }
kbd { background: var(--glutea-card-bg); border: 1px solid var(--glutea-line-strong); box-shadow: none; }

/* Cards and native attached header/body groups */
body .ui.segment, body .ui.segments, body .ui.card, body .ui.cards > .card,
.repo-file-box, .diff-file-box, .issue-card, #notification_table, .glutea-list-card {
  border: 1px solid var(--glutea-line); border-radius: 18px; background: var(--glutea-card-bg);
  backdrop-filter: blur(16px); box-shadow: var(--glutea-card-shadow);
}
body .ui.segments > .segment { box-shadow: none; border-radius: 0; background: transparent; }
body .ui.segments > .segment:first-child { border-radius: 18px 18px 0 0; }
body .ui.segments > .segment:last-child { border-radius: 0 0 18px 18px; }
body .ui.ui.attached.header { border-color: var(--glutea-line); border-radius: 18px 18px 0 0; padding: 16px 20px; background: var(--glutea-card-bg); font-size: 15px; }
body .ui.ui.attached.segment { border-color: var(--glutea-line); border-radius: 0; box-shadow: none; }
body .ui.bottom.attached.segment, body .ui.ui.attached.segment:last-child { border-radius: 0 0 18px 18px; }
body .ui.ui.attached.segment:first-child { border-radius: 18px; }
/* Backdrop filters make attached panels separate stacking contexts. Keep
   native team search suggestions above the following member/repository list. */
.organization.teams .ui.attached.segment:has(.ui.search) { z-index: 1; }
body .ui.table { border-color: var(--glutea-line); border-radius: 14px; background: var(--glutea-card-bg); }
body .ui.table > thead > tr > th { background: var(--glutea-card-bg); border-color: var(--glutea-line); padding: 14px 16px; font-weight: 600; }
body .ui.table > tbody > tr > td { padding: 13px 16px; border-color: var(--glutea-line); }
body .ui.table tr:hover, .flex-divided-list > .item:hover { background: var(--color-hover); }
.flex-divided-list > .item { border-color: var(--glutea-line); }
body .ui.message { border-radius: 14px; box-shadow: none; padding: 18px 22px; }
body .ui.modal { border-radius: 18px; overflow: hidden; border: 1px solid var(--glutea-line-strong); background: var(--glutea-surface-raised); }
body .ui.modal > :is(.header, .content, .actions) { background: var(--glutea-surface-raised); border-color: var(--glutea-line); padding: 22px; }
body .ui.pagination.menu { border: 0; box-shadow: none; background: transparent; gap: 4px; }
body .ui.pagination.menu > .item { min-width: 34px; min-height: 34px; border: 1px solid var(--glutea-line); border-radius: 9px; justify-content: center; background: var(--glutea-card-bg); font-size: 13px; }
body .ui.pagination.menu > .active.item { background: var(--color-text); color: var(--color-body); }

/* Repository identity and compact tabs */
.page-content > .glutea-repo-header.secondary-nav { border: 0; padding-top: 40px; margin-bottom: 28px; }
.glutea-breadcrumb { display: flex; align-items: center; gap: 10px; font-size: 15px; color: var(--glutea-muted); margin-bottom: 24px; }
.glutea-breadcrumb > a:last-child { color: var(--color-text); font-weight: 600; }
.glutea-repo-header .repo-header { min-height: 40px; margin-bottom: 28px; gap: 24px; align-items: flex-end; }
.glutea-repo-header .glutea-repo-identity > .flex-text-block { gap: 12px; min-width: 0; }
.glutea-repo-header .glutea-repo-identity > .flex-text-block > :is(img, .repo-icon) { display: none; }
.glutea-repo-header .glutea-repo-identity.has-avatar > .flex-text-block > img.avatar {
  display: inline-block; flex: none; width: clamp(48px, 6vw, 64px); height: clamp(48px, 6vw, 64px);
  border-radius: 30%; object-fit: cover;
}
.glutea-repo-name { min-width: 0; margin: 0; font-size: 40px; line-height: 1; letter-spacing: -.035em; overflow-wrap: anywhere; }
.glutea-repo-name a { color: var(--color-text); }
.glutea-repo-header .repo-header .ui.basic.label { font-size: 11px; color: var(--glutea-muted); padding: 4px 9px; white-space: nowrap; }
.glutea-repo-identity { min-width: 0; }
.glutea-repo-description { margin: 12px 0 0; color: var(--glutea-muted); font-size: 16px; max-width: 560px; line-height: 1.3; }
.glutea-repo-header .secondary-info { color: var(--glutea-muted); margin: -8px 0 20px; }
.glutea-repo-header .ui.secondary.pointing.menu { border-bottom: 1px solid var(--glutea-line); gap: 2px; }
.glutea-repo-header .overflow-menu-items { flex: 1; gap: 0; }
.glutea-repo-header .ui.secondary.pointing.menu .item { padding: 9px 10px 11px; font-size: 13.5px; font-weight: 500; gap: 6px; border-bottom-width: 2px; color: var(--glutea-muted); }
.glutea-repo-header .ui.secondary.pointing.menu .active.item { border-color: var(--glutea-accent); color: var(--color-text); }
.glutea-repo-header .ui.secondary.pointing.menu .item > .svg { width: 14px; height: 14px; }
.glutea-repo-header .overflow-menu-items > .item[href$='/settings'] { margin-left: auto; }
.glutea-repo-header .ui.secondary.pointing.menu .item:hover { color: var(--color-text); background: var(--color-hover); }
.glutea-repo-header .ui.secondary.pointing.menu .item .ui.label { background: var(--color-active); color: var(--glutea-muted); }

/* Repository home, folders, source, clone panel */
.repository .repo-grid-filelist-sidebar { grid-template-columns: minmax(0, 1fr) 320px; gap: 28px; }
.repository .repo-button-row { gap: 12px; margin-bottom: 14px; }
.repository .repo-button-row-left, .repository .repo-button-row-right { gap: 10px; }
.repository .repository-summary.ui.segments { border: 0; box-shadow: none; background: transparent; backdrop-filter: none; margin-bottom: 14px; }
.repository-summary .repository-menu.ui.segment { display: flex; justify-content: flex-start; gap: 10px; padding: 0; }
.repository-summary .repository-menu > .item { flex: none; border: 1px solid var(--glutea-line); border-radius: 11px; padding: 9px 13px; background: var(--glutea-card-bg); font-size: 13px; }
.repository .glutea-repo-stat { font-size: 13px; display: inline-flex; gap: 6px; align-items: center; white-space: nowrap; }
.repository .repo-file-box { overflow: hidden; }
.repository .repo-file-box .repo-file-line { min-height: 44px; border-color: var(--glutea-line); background: transparent; }
.repository .repo-file-box .repo-file-line:hover { background: var(--color-hover); }
.repository #repo-files-table .repo-file-cell { padding: 12px 16px; }
.repository #repo-files-table .repo-file-cell.name { gap: 12px; }
.repository .repo-file-cell .entry-name { font: 13px var(--fonts-monospace); color: var(--color-text); }
.repository .repo-file-cell.message, .repository .repo-file-cell.age { color: var(--glutea-muted); font-size: 13px; }
.repository .repo-file-cell.message a { color: var(--glutea-muted); }
.repository .repo-file-cell.age { color: var(--glutea-faint); }
.repository .repo-file-cell.name > .svg { color: var(--glutea-faint); width: 16px; height: 16px; }
.repository .repo-file-cell.name > .svg[class*='directory'] { color: var(--glutea-accent-secondary); }
.repository .repo-file-box #repo-files-table .repo-file-line:first-child { border-top: 0; }
.repository #repo-file-commit-box { border: 0; border-bottom: 1px solid var(--glutea-line); background: var(--glutea-card-bg); border-radius: 18px 18px 0 0; padding: 14px 16px; font-size: 13px; }
.repository .repo-file-box + .file-content { margin-top: 24px; }
.repository .file-header { padding: 16px 20px; background: transparent; border-color: var(--glutea-line); }
.repository .file-header .file-info { font: 12px var(--fonts-monospace); color: var(--glutea-muted); }
.repository .file-view.markup { padding: 28px 32px; }
.markup { font-size: 15px; line-height: 1.75; }
.markup h1 { font-size: 32px; letter-spacing: -.03em; border: 0; }
.markup h2 { font-size: 24px; letter-spacing: -.025em; border: 0; }
.markup h3 { font-size: 19px; }
.markup pre, .markup .code-block { border: 1px solid var(--glutea-line); border-radius: 11px; background: var(--color-code-bg); }
.markup code, .markup pre { font-family: var(--fonts-monospace); font-size: 12px; }
.markup blockquote { border-left: 3px solid var(--glutea-accent); color: var(--glutea-muted); }
.repository .repo-home-sidebar-top, .repository .repo-home-sidebar-bottom { font-size: 14px; line-height: 1.6; }
.repository .repo-home-sidebar-top h4, .repository .repo-home-sidebar-bottom h4 { font-size: 14px; margin-top: 22px; margin-bottom: 14px; }
.repository .repo-home-sidebar-top .divider, .repository .repo-home-sidebar-bottom .divider { margin: 24px 0; }
.repository #repo-desc { line-height: 1.65; }
.repository .repo-topic, .repository #repo-topics .ui.label { padding: 5px 10px; font-size: 12px; background: color-mix(in srgb, var(--glutea-accent) 12%, transparent); color: var(--color-primary); }
.repository .language-stats { border-radius: 999px; overflow: hidden; height: 8px; }
.repository .repo-clone-panel .menu { min-width: 340px; padding: 14px; }
.repository .file-view.code-view { background: var(--color-code-bg); border-radius: 0 0 18px 18px; }
.code-view .lines-num { color: var(--glutea-faint); }
.code-view .lines-code { font: 12px/1.7 var(--fonts-monospace); }
.repository .file-tree { border-color: var(--glutea-line); background: transparent; }

/* Issues and pull requests: joined number/state pills and two-tone labels. */
.repository .list-header { margin-bottom: 20px; gap: 10px; }
.issue-list-toolbar { padding: 8px 16px; border: 1px solid var(--glutea-line); border-bottom: 0; border-radius: 18px 18px 0 0; background: var(--glutea-card-bg); }
.issue-list-toolbar .ui.secondary.menu .item { color: var(--glutea-muted); font-size: 12.5px; padding: 6px 8px; }
.issue-list-toolbar .ui.secondary.menu .active.item { color: var(--color-text); background: transparent; }
#issue-list { border: 1px solid var(--glutea-line); border-radius: 0 0 18px 18px; background: var(--glutea-card-bg); box-shadow: var(--glutea-card-shadow); backdrop-filter: blur(16px); }
#issue-list > .item { padding: 16px 20px; gap: 14px; }
#issue-list > .item:last-child { border-radius: 0 0 18px 18px; }
#issue-list .item-main { min-width: 0; }
#issue-list .item-header { margin-bottom: 7px; }
#issue-list .list-item-large-title { font-size: 15.5px; font-weight: 600; color: var(--color-text); line-height: 1.55; }
#issue-list .list-item-large-title:hover { color: var(--color-primary); }
#issue-list .item-body { font-size: 13px; color: var(--glutea-muted); gap: 8px; }
#issue-list .item-trailing { gap: 16px; padding-top: 3px; color: var(--glutea-muted); }
#issue-list .assignee img { width: 24px; height: 24px; border-radius: 8px; }
#issue-list .item-leading { padding-top: 1px; }
#issue-list .issue-checkbox { opacity: .65; margin-right: 12px; }
.glutea-list-pill { display: inline-flex; flex: none; align-items: stretch; height: 24px; border-radius: 999px; overflow: hidden; vertical-align: middle; white-space: nowrap; text-decoration: none; }
.glutea-list-pill .glutea-pill-number { background: var(--color-text); color: var(--color-body); font: 11.5px/24px var(--fonts-monospace); padding: 0 8px 0 10px; }
.glutea-list-pill .glutea-pill-state { display: inline-flex; align-items: center; padding: 0 10px 0 7px; color: #fff; background: var(--glutea-open); }
.glutea-list-pill .glutea-pill-state .svg { width: 13px; height: 13px; min-width: 13px; min-height: 13px; color: inherit !important; }
.glutea-list-pill[data-state='closed'] .glutea-pill-state, .glutea-list-pill[data-state='merged'] .glutea-pill-state { background: var(--glutea-closed); }
.glutea-list-pill[data-state='closed-pr'] .glutea-pill-state { background: var(--glutea-delete); }
.glutea-list-pill[data-state='draft'] .glutea-pill-state { background: var(--glutea-draft); }
.glutea-detail-pill { display: inline-flex; flex: none; border-radius: 999px; overflow: hidden; align-self: flex-start; }
.glutea-detail-pill > .glutea-pill-number { display: flex; align-items: center; padding: 0 12px 0 14px; color: var(--color-body); background: var(--color-text); font: 13px var(--fonts-monospace); }
/* Gitea marks the standalone badge's radius, padding and type !important.
   The joined badge needs square inner corners; its parent rounds the outside. */
body .glutea-detail-pill > .issue-state-label { border: 0; border-radius: 0 !important; margin: 0; min-height: 31px; height: 31px; padding: 7px 14px 7px 12px !important; font-size: 13.5px !important; font-weight: 600; line-height: 17px; gap: 8px; }
/* Gitea sizes octicons from their width/height attributes with a matching min-size. */
body .glutea-detail-pill > .issue-state-label > .svg { width: 14px; height: 14px; min-width: 14px; min-height: 14px; margin: 0; }
.issue-title:has(~ .issue-title-meta .glutea-detail-pill) h1 > .index { display: none; }
.glutea-label.ui.label, .glutea-label.ui.label > .ui.label {
  background: oklch(var(--glutea-label-lightness) var(--glutea-label-chroma) var(--glutea-label-hue, 170)) !important;
  color: oklch(var(--glutea-label-ink-lightness) var(--glutea-label-ink-chroma) var(--glutea-label-hue, 170)) !important;
  border: 0; box-shadow: none; font-size: 11.5px; line-height: 1.6; font-weight: 500;
}
.glutea-label.ui.label { border-radius: 999px; padding: 3px 9px; }
.glutea-label.ui.label.scope-parent { display: inline-flex; overflow: hidden; padding: 0; gap: 0; align-items: stretch; vertical-align: middle; }
.glutea-label.ui.label > .ui.label { padding: 3px 8px; margin: 0; border-radius: 0; }
.glutea-label.ui.label.scope-parent > .ui.label.scope-left { background: oklch(var(--glutea-label-scope-lightness) var(--glutea-label-scope-chroma) var(--glutea-label-hue, 170)) !important; }
.labels-list { display: inline-flex; flex-wrap: wrap; gap: 5px; align-items: center; vertical-align: middle; margin-left: 5px; }
.labels-list > .item { margin: 0; }
#issue-pins { gap: 16px; margin-bottom: 24px; }
#issue-pins .issue-card { padding: 18px; }

/* Conversation, timeline and editor */
.repository .issue-title-header { margin: 0 0 32px; padding-bottom: 0; }
.repository.view.issue .issue-title h1 { font-size: clamp(30px, 3.4vw, 44px); line-height: 1.05; letter-spacing: -.035em; font-weight: 600; margin: 0; }
.repository.view.issue .issue-title { gap: 24px; align-items: flex-start; margin-bottom: 18px; }
.repository .issue-title-buttons { flex: none; display: flex; gap: 8px; }
.repository .issue-title-meta { align-items: center; gap: 14px; color: var(--glutea-muted); font-size: 14px; line-height: 1.5; }
.repository .issue-title-meta > .tw-flex-1 { min-width: 0; margin-left: 0 !important; }
.repository .issue-title-meta .time-desc > a { font-weight: 600; }
.repository .issue-title-meta > .tw-flex-1 > a,
.repository .issue-title-meta .pull-desc > a { color: var(--color-text); font-weight: 600; }
.repository.view.issue .issue-title-meta .pull-desc code {
  font: 12.5px var(--fonts-monospace); padding: 2px 7px; border-radius: 6px;
  background: var(--glutea-line); color: var(--color-text); overflow-wrap: anywhere;
  box-decoration-break: clone; -webkit-box-decoration-break: clone;
}
.repository.view.issue .issue-title-meta .pull-desc code > a { color: inherit; }
.repository.view.issue .issue-title-meta .pull-desc > [data-clipboard-text] {
  display: inline-flex; vertical-align: middle; padding: 0; margin: 0 2px; color: var(--glutea-faint) !important;
}
.repository.view.issue .issue-title-meta .pull-desc > [data-clipboard-text]:hover { color: var(--color-text) !important; }
.repository.view.issue .issue-title-meta .pull-desc > [data-clipboard-text] > .svg { width: 13px; height: 13px; min-width: 13px; min-height: 13px; }
.repository .issue-content { display: grid; gap: 28px; grid-template-columns: minmax(0, 1fr) 320px; }
.repository .issue-content-left { min-width: 0; }
.repository.view.issue .comment-list { margin-right: 0; }
.repository.view.issue .comment-list .timeline-item { padding-bottom: 24px; }
.repository.view.issue .comment-list .timeline-item::before { background: var(--glutea-line-strong); width: 2px; left: 21px; }
.repository.view.issue .comment-list .timeline-avatar { width: 44px; height: 44px; }
.repository.view.issue .comment-list .timeline-avatar img { width: 44px; height: 44px; border-radius: 14px; }
.repository.view.issue .comment-list .timeline-item.comment > .content { margin-left: 62px; }
.repository.view.issue .comment-list .timeline-item.event > .content { padding-top: 8px; font-size: 13px; color: var(--glutea-muted); }
.repository.view.issue .comment-list .timeline-item .badge { border: 4px solid var(--color-body); background: var(--glutea-bg-secondary); color: var(--glutea-muted); width: 36px; height: 36px; left: 4px; }
.repository.view.issue .comment-list .comment .comment-container { border: 1px solid var(--glutea-line); border-radius: 18px; background: var(--color-box-body); box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
/* Keep comments flat, including nested review threads and post-submit anchors. */
.repository.view.issue .conversation-holder,
.repository.view.issue .conversation-holder .diff-file-box { background: var(--color-box-body); box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
.repository.view.issue .comment-container > .ui.segment,
.repository.view.issue .conversation-holder .ui.segment { box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
.repository.view.issue .comment:target .comment-container,
.repository.view.issue .code-comment:target { box-shadow: none !important; border-color: var(--glutea-line) !important; }
.repository.view.issue .comment-header { padding: 14px 20px; background: transparent; border-bottom: 1px solid var(--glutea-line); border-radius: 18px 18px 0 0; font-size: 13px; }
.repository.view.issue .comment-header::before, .repository.view.issue .comment-header::after { display: none; }
.repository.view.issue .comment-body.ui.segment { padding: 22px 24px; background: transparent; border: 0; border-radius: 0 0 18px 18px; }
.repository.view.issue .comment-body .markup { font-size: 15px; line-height: 1.75; }
.repository.view.issue .comment-body .markup h2 { margin: 24px 0 8px; padding-bottom: 8px; border-bottom: 1px solid var(--glutea-line); font-size: 20px; font-weight: 600; line-height: 1.25; letter-spacing: -.02em; }
.repository.view.issue .comment-body .markup > h2:first-child { margin-top: 0; }
.repository.view.issue .comment-body .markup h3 { margin-top: 20px; font-size: 17px; }
.repository.view.issue .comment-reactions { background: transparent; border-color: var(--glutea-line); padding: 8px 18px; }
.repository .issue-content-right { padding-left: 0; font-size: 14px; }
.repository .issue-content-right .ui.divider { margin: 22px 0; }
.repository .issue-content-right .ui.header { font-size: 13px; margin-bottom: 12px; }
.repository .issue-content-right .ui.list { margin: 10px 0; }
.repository .issue-content-right .select-label .ui.label { margin-bottom: 6px; }
/* Gitea's editor has an ID and a custom toolbar element, not matching classes. */
.repository.view.issue .comment-list .timeline-item.form > .content > .ui.segment {
  padding: 0; border: 1px solid var(--glutea-line); border-radius: 18px;
  background: var(--color-box-body); box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none;
}
.repository.view.issue .comment-list .form > .content > .avatar-content-left-arrow::before,
.repository.view.issue .comment-list .form > .content > .avatar-content-left-arrow::after { display: none; }
.repository:is(.view, .new).issue :is(#comment-form, #new-issue) > .field { margin: 0; }
.repository:is(.view, .new).issue :is(#comment-form, #new-issue) .combo-markdown-editor > .ui.top.tabular.menu {
  min-height: 44px; margin: 0; padding: 10px 12px 0; gap: 2px;
  border: 0; border-bottom: 1px solid var(--glutea-line); background: transparent;
}
.repository:is(.view, .new).issue :is(#comment-form, #new-issue) .combo-markdown-editor > .ui.top.tabular.menu > .item {
  min-height: 33px; margin: 0 0 -1px; padding: 8px 12px !important; border: 0; border-bottom: 2px solid transparent;
  border-radius: 0; background: transparent; color: var(--glutea-muted); font-size: 13px; line-height: 16px; font-weight: 500;
}
.repository:is(.view, .new).issue :is(#comment-form, #new-issue) .combo-markdown-editor > .ui.top.tabular.menu > .active.item {
  color: var(--color-text); border-bottom-color: var(--color-text); font-weight: 600; box-shadow: none;
}
.repository:is(.view, .new).issue :is(#comment-form, #new-issue) markdown-toolbar {
  flex-wrap: wrap; min-height: 51px; margin: 0; padding: 10px 12px; gap: 2px;
  border-bottom: 1px solid var(--glutea-line);
}
.repository:is(.view, .new).issue :is(#comment-form, #new-issue) .markdown-toolbar-group { gap: 2px; padding: 0 6px; margin: 0; }
.repository:is(.view, .new).issue :is(#comment-form, #new-issue) .markdown-toolbar-group:first-child { padding-left: 0; }
.repository:is(.view, .new).issue :is(#comment-form, #new-issue) .markdown-toolbar-group:last-child { margin-left: auto; padding-right: 0; }
.repository:is(.view, .new).issue :is(#comment-form, #new-issue) .markdown-toolbar-button {
  display: inline-flex; align-items: center; justify-content: center; flex: 0 0 30px;
  width: 30px; height: 30px; min-height: 30px; padding: 7px; border-radius: 8px; color: var(--glutea-muted);
}
.repository:is(.view, .new).issue :is(#comment-form, #new-issue) .markdown-toolbar-button:hover { color: var(--color-text); background: var(--color-hover); }
.repository:is(.view, .new).issue :is(#comment-form, #new-issue) .markdown-toolbar-button > .svg { width: 16px; height: 16px; padding: 0; }
.repository:is(.view, .new).issue :is(#comment-form, #new-issue) text-expander { display: block; margin: 14px 16px 0; }
/* Comment editors wrap long lines; only vertical scrolling is useful. Apply
   to replies and comment edits as well as the main conversation composer. */
.repository:is(.view, .new).issue .combo-markdown-editor textarea.markdown-text-editor {
  white-space: pre-wrap; overflow-wrap: anywhere; overflow-x: hidden; overflow-y: auto;
}
.repository:is(.view, .new).issue :is(#comment-form, #new-issue) .markdown-text-editor {
  --min-height-textarea: 120px;
  display: block; min-height: 120px; width: 100%; padding: 14px; border-radius: 12px;
  background: var(--color-box-body); box-shadow: none; font-size: 14px; line-height: 1.65; resize: vertical;
}
.repository:is(.view, .new).issue :is(#comment-form, #new-issue) [data-tab-panel='markdown-previewer'] { min-height: 120px; padding: 14px 16px; }
.repository:is(.view, .new).issue :is(#comment-form, #new-issue) .dropzone {
  min-height: 50px; margin: 10px 16px 0; padding: 12px 14px; border: 1px dashed var(--glutea-line-strong);
  border-radius: 12px; background: transparent; box-shadow: none; color: var(--glutea-muted); font-size: 13px;
}
.repository:is(.view, .new).issue :is(#comment-form, #new-issue) .dropzone .dz-message { margin: 0; padding: 0; }
.repository:is(.view, .new).issue :is(#comment-form, #new-issue) > .field.footer { padding: 14px 16px 16px; }
.repository:is(.view, .new).issue :is(#comment-form, #new-issue) > .field.footer > .flex-text-block { flex-wrap: wrap; gap: 8px; }
.repository:is(.view, .new).issue :is(#comment-form, #new-issue) > .field.footer .ui.button { min-height: 38px; padding: 9px 14px; border-radius: 11px; font-size: 13.5px; font-weight: 600; }
/* New issues share the native editor, but must fill the grid rather than
   retaining Gitea's fixed left/right column widths. */
.repository.new.issue #new-issue { grid-template-columns: minmax(0, 1fr) 260px; gap: 28px; align-items: start; }
.repository.new.issue .issue-content-left { width: auto; }
.repository.new.issue .ui.comments { margin: 0; }
.repository.new.issue .ui.comments .comment > .content {
  min-width: 0; flex: 1; padding: 0; border-radius: 14px;
  box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none;
}
.repository.new.issue .avatar-content-left-arrow::before,
.repository.new.issue .avatar-content-left-arrow::after { display: none; }
.repository.new.issue #new-issue .content > .field:first-child { margin: 0; padding: 16px; }
.repository.new.issue #new-issue .content > .field:has(> .combo-markdown-editor, > .dropzone) { margin: 0; }
.repository.new.issue #issue_title { min-height: 44px; border-radius: 10px; font-size: 16px; font-weight: 600; }
.repository.new.issue #new-issue .markdown-text-editor { --min-height-textarea: 240px; min-height: 240px; }
.repository.new.issue #new-issue [data-tab-panel='markdown-previewer'] { min-height: 300px; }
.repository.new.issue #new-issue .content > .flex-text-block { padding: 16px; }
.repository.new.issue #new-issue .content > .flex-text-block > .button { min-height: 40px; padding: 10px 16px; border-radius: 10px; font-size: 14px; }
.repository.new.issue .issue-content-right.ui.segment { margin: 0; }
@media (max-width: 1100px) {
  .repository.new.issue #new-issue { grid-template-columns: minmax(0, 1fr) 230px; gap: 22px; }
}
@media (max-width: 767.98px) {
  .repository.new.issue #new-issue { gap: 24px; }
  .repository.new.issue #new-issue .markdown-toolbar-button { width: 36px; height: 36px; flex-basis: 36px; }
  .repository.new.issue #new-issue .markdown-toolbar-group { padding: 0 4px; }
  .repository.new.issue #new-issue .content > .field:first-child { padding: 12px; }
  .repository.new.issue #new-issue text-expander { margin: 12px 12px 0; }
  .repository.new.issue #new-issue .dropzone { margin: 10px 12px 0; }
  .repository.new.issue #new-issue .content > .flex-text-block { padding: 12px; }
}
.repository .pull-request-tab.menu { border-color: var(--glutea-line); margin-bottom: 24px; }
.repository .pull-request-tab.menu .item { font-size: 13px; padding: 13px 16px; }
.repository .pull-request-tab.menu .active.item { border-color: var(--glutea-accent); background: transparent; }
.repository .merge-section { border: 2px solid var(--glutea-accent); border-radius: 18px; overflow: visible; background: var(--color-box-body); box-shadow: none; }
.repository .merge-section > .item:first-child { border-radius: 16px 16px 0 0; }
.repository .merge-section > .item:last-child { border-radius: 0 0 16px 16px; }
/* Native merge/update menus extend over later timeline cards. Those cards
   create stacking contexts through their glass surfaces. */
.repository .pull-merge-box:has(.ui.dropdown.active) { position: relative; z-index: 2; }
.repository.view.issue .pull-merge-box > .content > .ui.segment {
  border: 0; background: transparent; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none;
}
.repository.view.issue .pull-merge-box > .content > .avatar-content-left-arrow::before,
.repository.view.issue .pull-merge-box > .content > .avatar-content-left-arrow::after { display: none; }
.repository .merge-section > .item { padding: 16px 22px; font-size: 14px; line-height: 1.5; }
.repository .merge-section > .item:first-child { padding-top: 20px; padding-bottom: 20px; }
.repository .merge-section > .commit-status-toggle > div:first-child,
.repository .merge-section > .item h3 { font-size: 19px; font-weight: 600; letter-spacing: -.02em; }
.repository .merge-section .commit-status-list > .item { padding: 12px 22px; }
.repository .merge-section .commit-status-toggle > button,
.repository .merge-section > .item > details > summary { font-size: 13px; color: var(--glutea-muted); }
.repository #pull-request-merge-form .merge-button { border-radius: 12px; }
.repository #pull-request-merge-form .merge-button > .button { min-height: 42px; padding: 11px 18px; font-size: 14px; font-weight: 600; }
.repository #pull-request-merge-form .merge-button > .dropdown { padding: 11px 12px; }
.repository #pull-request-merge-form .merge-button > .dropdown > .svg { width: 15px; height: 15px; }
/* Keep native warnings, checks, update and command controls beneath the mock's
   title/action row. Expanded merge confirmation needs the entire card width. */
@media (min-width: 1200px) {
  .repository .merge-section:has(> .commit-status-toggle):has(#pull-request-merge-form .merge-button):not(:has(#pull-request-merge-form input)) { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
  .repository .merge-section > .item { grid-column: 1 / -1; }
  .repository .merge-section:has(> .commit-status-toggle):has(#pull-request-merge-form .merge-button):not(:has(#pull-request-merge-form input)) > .commit-status-toggle { grid-column: 1; grid-row: 1; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 2px; }
  .repository .merge-section:has(> .commit-status-toggle):has(#pull-request-merge-form .merge-button):not(:has(#pull-request-merge-form input)) > .item:has(> #pull-request-merge-form) { grid-column: 2; grid-row: 1; border-top: 0; display: flex; align-items: center; padding-left: 0; }
}

/* Commits and diff viewer */
.repository .commit-list, .repository #commits-table { border-color: var(--glutea-line); border-radius: 18px; overflow: hidden; }
.repository .commit-list .item, .repository #commits-table td { padding: 15px 18px; }
.repository .commit-header { background: var(--glutea-card-bg); border-color: var(--glutea-line); padding: 20px; }
.repository .diff-detail-box { padding: 14px 0; margin-bottom: 18px; gap: 16px; background: var(--color-body); }
.repository .diff-detail-stats { font-size: 13px; }
.repository .diff-file-box { margin-bottom: 22px; overflow: clip; }
.repository .diff-file-header { padding: 14px 18px; min-height: 54px; background: var(--glutea-surface-raised); border-bottom: 1px solid var(--glutea-line); }
.repository .diff-file-name { font-family: var(--fonts-monospace); font-size: 12px; }
.repository .diff-file-body { background: var(--color-code-bg); }
.repository .diff-file-body .lines-code { font-family: var(--fonts-monospace); font-size: 12px; line-height: 1.7; }
.repository .diff-file-body .lines-num { font-size: 11px; }
.repository .diff-file-body .tag-code, .repository .diff-file-body tr.tag-code td {
  background: color-mix(in srgb, var(--glutea-accent-secondary) 8%, var(--color-code-bg)); color: var(--glutea-accent-secondary);
}
.repository .diff-file-tree { border: 1px solid var(--glutea-line); border-radius: 14px; padding: 12px; background: var(--glutea-card-bg); }
.repository .diff-file-tree .item { padding: 6px; font: 12px var(--fonts-monospace); border-radius: 7px; }
.repository .diff-file-tree .active { background: var(--color-hover); }
.repository .diff-detail-actions progress { height: 4px; border-radius: 99px; }

/* Releases, tags, wiki, milestones, activity, Actions */
.repository #release-list { padding: 0; }
.repository #release-list > .release-entry { gap: 28px; padding: 0 0 28px; border: 0; }
.repository #release-list .release-entry > .meta { color: var(--glutea-muted); padding-top: 22px; font: 12px var(--fonts-monospace); }
.repository #release-list .detail { padding: 26px 30px; }
.repository #release-list .release-list-title { font-size: 28px; letter-spacing: -.025em; margin: 0; }
.repository #release-list .download { border-color: var(--glutea-line); padding-top: 18px; }
.repository .tag-list { border: 1px solid var(--glutea-line); border-radius: 18px; background: var(--glutea-card-bg); }
.repository .tag-list > .item { padding: 18px 22px; }
.repository.wiki .wiki-content-main { padding: 28px 34px; border: 1px solid var(--glutea-line); border-radius: 18px; background: var(--glutea-card-bg); box-shadow: var(--glutea-card-shadow); }
.repository.wiki .wiki-content-sidebar { padding: 18px; font-size: 13px; line-height: 1.9; border-color: var(--glutea-line); }
.repository.wiki .wiki-content-toc a { color: var(--glutea-muted); }
.repository.wiki .wiki-content-parts { margin-top: 24px; gap: 26px; }
.repository.wiki .wiki-content-footer { margin-top: 24px; padding: 18px 0; border-color: var(--glutea-line); color: var(--glutea-muted); }
.repository.milestones .milestone-list { border: 1px solid var(--glutea-line); border-radius: 18px; background: var(--glutea-card-bg); }
.repository.milestones .milestone-list > .item { padding: 22px; }
.repository.milestones .milestone-list h3 { font-size: 20px; }
.repository .activity-overview { border-radius: 18px; }
.repository .stats-table { border-radius: 18px; overflow: hidden; }
.repository .stats-table .num { font-weight: 600; letter-spacing: -.035em; }
.repository.actions .run-list { border: 1px solid var(--glutea-line); border-radius: 0 0 18px 18px; background: var(--glutea-card-bg); box-shadow: var(--glutea-card-shadow); }
.repository.actions .run-list > .item { padding: 19px 22px; gap: 16px; }
.repository.actions .run-list .item-title { font-size: 15px; font-weight: 600; }
.repository.actions .run-list .item-body { color: var(--glutea-muted); font-size: 12.5px; margin-top: 7px; }
.repository.actions .run-list-ref { font: 11.5px var(--fonts-monospace); }
.repository.actions .run-list-item-trailing { font-size: 12px; color: var(--glutea-muted); }
.action-view-header { margin-bottom: 28px; }
.action-view-header h2, .action-view-header .run-name { font-size: 32px; letter-spacing: -.03em; }
.action-view-left, .action-view-right { border-color: var(--glutea-line); }
.action-view-body { gap: 28px; }
.action-view-right { border-radius: 18px; background: var(--glutea-card-bg); overflow: hidden; }
.job-step-container, .job-step-section { border-color: var(--glutea-line); }
.job-step-summary { padding: 15px 20px; background: transparent; font-size: 14px; }
.job-step-logs { font: 12px/1.8 var(--fonts-monospace); background: var(--color-code-bg); }
.job-step-logs .log-line:hover { background: var(--color-hover); }
.job-step-logs .log-line-number { color: var(--glutea-faint); }

/* Global lists, notifications and settings use the same card vocabulary. */
.ui.vertical.menu, .ui.secondary.vertical.menu { border: 0; box-shadow: none; background: transparent; }
.ui.vertical.menu > .item { border: 0; padding: 12px 14px; border-radius: 10px; margin-bottom: 4px; font-size: 14px; color: var(--glutea-muted); }
.ui.vertical.menu > .active.item { background: var(--color-active); color: var(--color-text); font-weight: 600; }
.ui.vertical.menu > .item::before { display: none; }
.explore .repo-list, .explore .user-list, .explore .organization-list, .dashboard .milestone-list { border: 1px solid var(--glutea-line); border-radius: 18px; background: var(--glutea-card-bg); box-shadow: var(--glutea-card-shadow); }
.explore .repo-list > .item, .explore .user-list > .item, .explore .organization-list > .item { padding: 22px 24px; }
.explore .repo-list .repo-title { font-size: 19px; letter-spacing: -.02em; }
.explore .repo-list .repo-description { color: var(--glutea-muted); font-size: 14px; line-height: 1.7; }
.explore .ui.secondary.pointing.menu .item { padding: 16px; font-size: 14px; }
.explore .ui.secondary.pointing.menu .active.item { border-color: var(--glutea-accent); }
#notification_table { overflow: hidden; }
#notification_table .notifications-item { padding: 20px 24px; gap: 16px; border-color: var(--glutea-line); }
#notification_table .notifications-item:hover { background: var(--color-hover); }
#notification_table .notifications-link > :first-child { font: 11.5px var(--fonts-monospace); color: var(--glutea-muted); margin-bottom: 7px; }
#notification_table .notifications-link > :last-child { font-size: 15px; font-weight: 500; }
#notification_table .notifications-updated { font-size: 12px; color: var(--glutea-muted); }
#notification_table .notifications-buttons { gap: 6px; }
.repository.new-repo .ui.form { max-width: 780px; margin: 0 auto; }
.repository.new-repo .ui.form > .ui.segment { padding: 28px 32px; }
.repository.new-repo .ui.form > .ui.header { font-size: 30px; padding: 26px 32px; letter-spacing: -.035em; }
.user.settings .flex-container-main > .ui.segment, .repository.settings .flex-container-main > .ui.segment { padding: 24px; }
.page-footer { padding: 22px 32px; margin-top: 32px; border-top: 1px solid var(--glutea-line); background: transparent; font-size: 12px; color: var(--glutea-muted); }

/* Existing Svelte screens share the native chrome and softer card edges. */
body [data-ui='Card'] { border-color: var(--glutea-line); }
#dashboard-repo-list .ui.segment { border-color: var(--glutea-line); border-radius: 18px; }
#dashboard-repo-list .repo-owner-name-list > li { padding: 10px 14px; }
#dashboard-repo-list .repo-owner-name-list > li:hover { background: var(--color-hover); }
#dashboard-repo-list .repo-owner-name-list .repo-name { font-size: 14px; }
#dashboard-repo-list .ui.secondary.menu { border-color: var(--glutea-line); }
#dashboard-repo-list .ui.secondary.menu .item { font-size: 12px; }
#dashboard-repo-list .ui.secondary.menu .active.item { color: var(--color-text); border-color: var(--glutea-accent); }
.heatmap-color-0 { fill: color-mix(in srgb, var(--glutea-accent) 7%, transparent); }
.heatmap-color-1 { fill: color-mix(in srgb, var(--glutea-accent) 30%, transparent); }
.heatmap-color-2 { fill: color-mix(in srgb, var(--glutea-accent) 55%, transparent); }
.heatmap-color-3 { fill: color-mix(in srgb, var(--glutea-accent) 80%, transparent); }
.heatmap-color-4 { fill: var(--glutea-accent); }

/* The reference is desktop-only; retain usable native layouts on small screens. */
/* Native IDs and compound selectors below match Gitea's own specificity. */
[hidden]:not([hidden='until-found']) { display: none !important; }
#navbar [data-ui='WorkspaceSwitcher'] .workspace-home { border-radius: 11px 0 0 11px; }
#navbar [data-ui='WorkspaceSwitcher'] .workspace-toggle { border-radius: 0 11px 11px 0; }
#navbar [data-ui='WorkspaceSwitcher'] .workspace-options { border-color: var(--glutea-line-strong); background: var(--color-box-body); border-radius: 16px; box-shadow: var(--glutea-card-shadow); }
#navbar .navbar-right > a:has(.octicon-bell) { min-width: 38px; height: 38px; border: 1px solid var(--glutea-line); background: var(--glutea-card-bg); border-radius: 12px; justify-content: center; }
#navbar a.item .notification_count { color: #fff; background: var(--glutea-accent); font: 10.5px var(--fonts-monospace); min-width: 18px; padding: 2px 5px; border-radius: 999px; box-shadow: 0 0 0 2px var(--color-body); }
.glutea-notifications { position: relative; }
#navbar .glutea-notifications > a { display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; padding: 0; border: 1px solid var(--glutea-line); border-radius: 12px; background: var(--glutea-card-bg); }
.glutea-notification-preview { position: absolute; top: calc(100% + 10px); right: 0; width: 420px; max-width: calc(100vw - 32px); border: 1px solid var(--glutea-line-strong); border-radius: 16px; background: linear-gradient(var(--glutea-surface-raised), var(--glutea-surface-raised)), var(--color-body); box-shadow: var(--glutea-card-shadow); backdrop-filter: blur(20px); overflow: hidden; outline: none; }
.glutea-notification-preview > header { display: flex; align-items: center; justify-content: space-between; padding: 13px 18px; border-bottom: 1px solid var(--glutea-line); font-size: 14px; }
.glutea-preview-close { border: 0; background: transparent; color: var(--glutea-muted); font-size: 24px; width: 28px; height: 28px; border-radius: 8px; cursor: pointer; }
.glutea-preview-close:hover { background: var(--color-hover); }
.glutea-notification-items { padding: 8px; font-size: 13px; color: var(--glutea-muted); line-height: 1.6; }
.glutea-notification-row { display: grid; grid-template-columns: 16px minmax(0, 1fr); gap: 12px; padding: 11px 12px; border-radius: 9px; color: var(--color-text); }
.glutea-notification-row:hover { background: var(--color-hover); color: var(--color-text); }
.glutea-notification-row > span:last-child { min-width: 0; display: flex; flex-direction: column; }
.glutea-notification-row small { font: 11px/1.7 var(--fonts-monospace); color: var(--glutea-muted); }
.glutea-notification-row small, .glutea-notification-row > span > span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.glutea-preview-status.svg { margin-top: 3px; width: 16px; height: 16px; color: var(--glutea-muted); }
.glutea-preview-status:is(.octicon-issue-opened, .octicon-issue-reopened, .octicon-git-pull-request) { color: var(--glutea-open); }
.glutea-preview-status.octicon-issue-closed { color: var(--glutea-closed); }
.glutea-preview-status.octicon-git-merge { color: var(--glutea-merged); }
.glutea-preview-status.octicon-git-pull-request-closed { color: var(--glutea-delete); }
.glutea-notifications-all { display: block; padding: 14px; border-top: 1px solid var(--glutea-line); font-size: 14px; font-weight: 600; text-align: center; color: var(--color-text); }
.glutea-notifications-all:hover { background: var(--color-hover); }
.glutea-context-nav .glutea-context-tabs > .active.item { border-radius: 10px; }
.glutea-repo-header .repo-header { padding: 0; }
.glutea-repo-header .ui.secondary.pointing.menu .item { padding: 9px 10px 11px !important; gap: 7px; }
.glutea-repo-header .ui.secondary.pointing.menu .item > .svg { width: 14px !important; height: 14px !important; margin: 0 !important; }
.glutea-repo-header .ui.secondary.pointing.menu .item .ui.label { margin: 0; padding: 1px 7px; min-width: 20px; font-size: 11.5px; }
.glutea-repo-header .ui.tabs.divider { display: none; }
.glutea-repo-header .overflow-menu-items { min-width: 0; }
.glutea-site-name { max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.repository .view-file-tree-items { font-size: 13px; }
.repository .view-file-tree-items .tree-item { border-radius: 8px; padding-top: 8px; padding-bottom: 8px; }
.repository .view-file-tree-items .tree-item.type-directory > .svg { color: var(--glutea-accent-secondary); }
.repository #repo-files-table {
  border: 1px solid var(--glutea-line); border-radius: 18px; overflow: hidden;
  background: var(--glutea-card-bg); backdrop-filter: blur(16px); box-shadow: var(--glutea-card-shadow); margin: 14px 0 24px;
}
.repository #repo-files-table .repo-file-line { min-height: 54px; padding: 14px 18px; border-color: var(--glutea-line); }
.repository #repo-files-table .repo-file-cell { min-height: 44px; border-color: var(--glutea-line); }
.repository #repo-files-table .repo-file-item:hover > .repo-file-cell { background: var(--color-hover); }
.repository #repo-files-table .repo-file-line:first-child { border-radius: 18px 18px 0 0; }
.repository #repo-files-table .repo-file-last-commit > .latest-commit { flex: 1; min-width: 0; }
.repository .glutea-commit-count { flex: none; margin-left: 8px; color: var(--color-text); }
.repository .repo-button-row .glutea-repo-stat { padding: 9px 12px; }
.repository .file-header.ui.header { border-radius: 18px 18px 0 0; padding: 16px 20px !important; }
.repository .file-view-container.ui.segment { background: var(--glutea-card-bg); box-shadow: var(--glutea-card-shadow); }
.repository.view.issue .issue-content-left { width: auto; }
.repository:is(.view, .new).issue .issue-content-right.ui.segment { width: auto; border: 0; border-radius: 0; padding: 0; background: transparent; box-shadow: none; backdrop-filter: none; }
.repository.view.issue .comment-list { margin-left: 0; padding-left: 0; }
.repository.view.issue .comment-list::before { left: 21px; bottom: auto; height: var(--glutea-timeline-height, calc(100% - 26px)); margin-bottom: 0; background: var(--glutea-line-strong); }
.repository.view.issue .comment-list .timeline-item { margin-left: 0; padding: 0 0 24px; }
.repository.view.issue .comment-list .timeline-item .timeline-avatar { left: 0; }
.repository.view.issue .comment-list .timeline-item.event > .timeline-avatar-offset { left: -46px; top: calc(100% + 8px); }
.repository.view.issue .comment-list .timeline-item.event { margin-left: 46px; padding: 12px 0 10px; font-size: 14.5px; }
/* The mock's 36px disk excludes its body-colored clearance ring. */
.repository.view.issue .comment-list .timeline-item .badge { width: 36px; height: 36px; border: 0; border-radius: 50%; background: var(--glutea-bg-secondary); box-shadow: 0 0 0 4px var(--color-body); margin-left: -42px; margin-right: 14px; }
.repository.view.issue .comment-list .timeline-item .badge > .svg { width: 16px; height: 16px; padding: 0; flex-shrink: 0; }
/* Commit rows are content beneath a push event, not event badges on the rail. */
.repository.view.issue .comment-list .timeline-item.commits-list { margin-left: 62px; padding: 0 0 24px 6px; }
.repository.view.issue .comment-list .commits-list > .flex-text-block { min-width: 0; min-height: 28px; gap: 12px; }
.repository.view.issue .comment-list .timeline-item.commits-list .badge-commit { flex: 0 0 16px; width: 16px; height: 28px; margin: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.repository.view.issue .comment-list .commits-list .badge-commit > .svg { width: 16px; height: 16px; padding: 0; }
.repository.view.issue .comment-list .commits-list .avatar-stack { flex-shrink: 0; }
.repository.view.issue .comment-list .commits-list .avatar-stack img { width: 20px; height: 20px; border-radius: 6px; }
.repository.view.issue .comment-list .commits-list .commit-id-short { background: transparent; border: 0; padding: 0; font: 11.5px var(--fonts-monospace); color: var(--glutea-muted); }
.repository.view.issue .comment-list .commits-list .commit-body { margin: 8px 0 12px 24px !important; white-space: pre-wrap; overflow-wrap: anywhere; }
/* Match native attached-child specificity without clipping reaction menus. */
.repository.view.issue .comment-list .timeline-item.comment > .content > div:first-child { border-top-left-radius: 18px; border-top-right-radius: 18px; }
.repository.view.issue .comment-list .timeline-item.comment > .content > div:last-child { border-bottom-left-radius: 18px; border-bottom-right-radius: 18px; }
/* Only unfilled review badges need a muted icon; colored events retain white. */
.repository.view.issue .comment-list .timeline-item .badge.tw-text-white:not([class*="tw-bg-"]) { color: var(--glutea-muted) !important; }
/* The merge summary has a rounded square marker, distinct from event disks.
   Mix against the opaque body so the timeline rail never shows through. */
.repository.view.issue .comment-list .pull-merge-box > .timeline-avatar { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; left: 0; border: 0; border-radius: 14px; background: color-mix(in srgb, currentColor 12%, var(--color-body)); box-shadow: 0 0 0 4px var(--color-body); }
.repository.view.issue .comment-list .pull-merge-box > .timeline-avatar > .svg { width: 20px; height: 20px; padding: 0; color: inherit; }
.repository.view.issue .comment-list .pull-merge-box > .timeline-avatar.tw-text-text-light { background: var(--glutea-bg-secondary); }
.repository.view.issue .comment-list .pull-merge-box > .timeline-avatar.tw-text-text-light > .svg { color: var(--glutea-muted); }
.repository.view.issue .comment-list .pull-merge-box > .timeline-avatar.tw-text-yellow > .svg { color: var(--color-warning-text); }
.repository.view.issue .comment-list .comment .comment-header { background: transparent; }
.repository.view.issue .comment-list .comment .comment-body { background: transparent; }
.repository.view.issue .comment-list .comment .content > .ui.segment { background: transparent; }
.repository.view.issue .comment-list .comment .content .render-content { background: transparent; }
.repository.view.issue .comment-list .comment .comment-reactions { background: transparent; }
.repository .issue-content-right .divider { border-color: var(--glutea-line); margin: 20px 0; }
.repository .issue-content-right .select-label { font-size: 13px; }
.repository .issue-content-right .select-label .menu { padding: 6px; }
.repository .ui.tabular.menu { background: transparent; border-color: var(--glutea-line); }
.repository .ui.tabular.menu > .item { border: 0; border-bottom: 2px solid transparent; border-radius: 0; padding: 12px 16px; font-size: 13px; }
.repository .ui.tabular.menu > .active.item { background: transparent; border-bottom-color: var(--glutea-accent); }
.repository.actions .flex-container-main > .ui.attached.segment { padding: 0; background: transparent; }
.repository.actions .run-list { border: 0; }
.repository.actions .ui.vertical.menu > .active.item { border-radius: 10px; }
.explore .flex-divided-list.items-with-main { border: 1px solid var(--glutea-line); border-radius: 18px; background: var(--glutea-card-bg); box-shadow: var(--glutea-card-shadow); margin-top: 22px; }
.explore .flex-divided-list.items-with-main > .item { padding: 22px 24px; border-color: var(--glutea-line); }
.explore .flex-divided-list.items-with-main .item-title { font-size: 18px; }
.explore .flex-divided-list.items-with-main .item-body { color: var(--glutea-muted); font-size: 14px; line-height: 1.7; }
.explore .secondary-nav > .ui.container { justify-content: flex-start; }
.explore .secondary-nav .overflow-menu-items { justify-content: flex-start; }
body .ui.secondary.vertical.menu > .active.item { border-radius: 10px; }
body .small-menu-items.ui.menu { padding: 3px; background: var(--glutea-card-bg); border: 1px solid var(--glutea-line); border-radius: 11px; box-shadow: none; }
body .small-menu-items.ui.menu > .item { border: 0; border-radius: 8px; padding: 8px 12px; }
body .small-menu-items.ui.menu > .item::before { display: none; }
body .small-menu-items.ui.menu > .active.item { background: var(--color-active); color: var(--color-text); }
.issue-list-toolbar .small-menu-items.ui.menu { padding: 0; border: 0; background: transparent; }
.issue-list-toolbar .small-menu-items.ui.menu > .item { background: transparent; font-size: 13px; color: var(--glutea-muted); }
.issue-list-toolbar .small-menu-items.ui.menu > .active.item { color: var(--color-text); font-weight: 600; }
.issue-list-toolbar .small-menu-items.ui.menu .octicon-issue-opened, .issue-list-toolbar .small-menu-items.ui.menu .octicon-git-pull-request { color: var(--color-green); }
.repository.milestones .milestone-list { border-radius: 0 0 18px 18px; }
.milestone-list .list-item-title-progress { height: 5px; width: 180px; }
.milestone-list .list-item-large-title { font-size: 20px; font-weight: 600; }
.repository .activity-header { font-size: 28px; margin-bottom: 20px; }
.repository .stats-table { background: transparent; }
.repository .stats-table .ui.segment { background: transparent; border-radius: 0; box-shadow: none; }
.repository .stats-table .ui.segment:last-child { border-radius: 0 0 18px 0; }
.repository.wiki.view .wiki-content-parts { display: grid; grid-template-columns: 190px minmax(0, 1fr) 190px; gap: 24px; align-items: start; }
.repository.wiki.view .wiki-content-parts:not(:has(.wiki-content-toc)) { grid-template-columns: 190px minmax(0, 1fr); }
.repository.wiki.view .wiki-content-main { grid-column: 2; grid-row: 1 / span 2; width: auto; max-width: none; margin: 0; padding: 28px 32px; border-radius: 18px; border-color: var(--glutea-line); background: var(--glutea-card-bg); }
.repository.wiki.view .wiki-content-toc { grid-column: 3; grid-row: 1; width: auto; margin: 0; padding: 18px 0; background: transparent; border: 0; font-size: 13px; }
.repository.wiki.view .wiki-content-sidebar:not(.wiki-content-toc) { grid-column: 1; grid-row: 2; width: auto; margin: 0; padding: 16px 0; }
.repository.wiki.view .wiki-content-footer { grid-column: 1 / -1; }
.repository.wiki.view .wiki-content-parts > .tw-clear-both { display: none; }
.glutea-wiki-pages { grid-column: 1; grid-row: 1; display: flex; flex-direction: column; gap: 3px; padding-top: 8px; }
.glutea-wiki-pages > a { padding: 10px 12px; border-radius: 9px; color: var(--glutea-muted); font-size: 13px; }
.glutea-wiki-pages > a:first-child { font-weight: 600; color: var(--color-text); margin-bottom: 8px; }
.glutea-wiki-pages > a:hover, .glutea-wiki-pages > a[aria-current] { background: var(--color-hover); color: var(--color-text); }
.repository.wiki.view > .ui.container > .ui.dividing.header { border: 0; margin: 26px 0; }
.repository.wiki.view > .ui.container > .ui.dividing.header .tw-flex-1.gt-ellipsis { font-size: 30px; line-height: 1.3; letter-spacing: -.03em; }
.repository.wiki.view > .ui.container > .ui.dividing.header .ui.sub.header { font-size: 13px; letter-spacing: 0; margin-top: 8px; }
.repository .commit-table.ui.segment:has(#commits-table[data-glutea-grouped]) { border: 0; background: transparent; padding: 0; box-shadow: none; }
.repository #commits-table[data-glutea-grouped] { background: transparent; border: 0; border-collapse: separate; border-spacing: 0; }
.repository #commits-table[data-glutea-grouped] > thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.repository #commits-table .glutea-commit-date > td { background: transparent; border: 0; padding: 24px 4px 12px; font-size: 13px; font-weight: 500; color: var(--glutea-muted); }
.repository #commits-table .glutea-commit-row > td { border-radius: 0; background: var(--glutea-card-bg); border-top: 1px solid var(--glutea-line); padding: 18px 16px; }
.repository #commits-table .glutea-commit-row > td:first-child { border-left: 1px solid var(--glutea-line); }
.repository #commits-table .glutea-commit-row > td:last-child { border-right: 1px solid var(--glutea-line); }
.repository #commits-table .glutea-commit-row:hover > td { background: var(--color-hover); }
.repository #commits-table .glutea-commit-date + tr > td:first-child { border-top-left-radius: 14px; }
.repository #commits-table .glutea-commit-date + tr > td:last-child { border-top-right-radius: 14px; }
.repository #commits-table .glutea-commit-last > td { border-bottom: 1px solid var(--glutea-line); }
.repository #commits-table .glutea-commit-last > td:first-child { border-bottom-left-radius: 14px; }
.repository #commits-table .glutea-commit-last > td:last-child { border-bottom-right-radius: 14px; }
.repository.new-repo > .ui.container { max-width: 824px; margin-top: 0; }
.repository.new-repo > .ui.container > .ui.header { border: 0; background: transparent; font-size: 44px; letter-spacing: -.035em; padding: 0 0 26px; }
.repository.new-repo > .ui.container > .ui.segment { border: 1px solid var(--glutea-line); border-radius: 18px; padding: 28px 32px; }
.repository.new-repo .new-repo-form.ui.form .inline.field { display: grid; grid-template-columns: 160px minmax(0, 1fr); column-gap: 24px; align-items: start; row-gap: 0; }
.repository.new-repo .new-repo-form.ui.form .inline.field > label { text-align: left; width: auto; margin: 0; padding-top: 12px; }
.repository.new-repo .new-repo-form.ui.form .inline.field > :is(input:not([type='checkbox']), textarea, .selection.dropdown) { width: 100%; max-width: none; }
.repository.new-repo .new-repo-form.ui.form .inline.field > .help { grid-column: 2; margin-left: 0; }
.repository.new-repo .new-repo-form.ui.form .inline.field > .ui.checkbox { grid-column: 2; align-self: start; margin-top: 12px; }
.repository.new-repo .new-repo-form.ui.form .inline.field > label:empty { display: none; }
.repository.new-repo .new-repo-form.ui.form .inline.field > .button { grid-column: 2; justify-self: start; }
#dashboard-repo-list .ui.two.item.menu { border: 1px solid var(--glutea-line); border-radius: 12px; padding: 4px; background: var(--glutea-card-bg); box-shadow: none; }
#dashboard-repo-list .ui.two.item.menu .item { border: 0; border-radius: 9px; padding: 10px; }
#dashboard-repo-list .ui.two.item.menu .item::before { display: none; }
#dashboard-repo-list .ui.two.item.menu .active.item { background: var(--color-text); color: var(--color-body); }
#dashboard-repo-list .ui.top.attached.header { border: 0; background: transparent; padding: 18px 14px; }
#dashboard-repo-list .ui.attached.segment { border-color: var(--glutea-line); border-radius: 18px 18px 0 0; padding: 14px; }
#dashboard-repo-list ul.repo-owner-name-list { border: 1px solid var(--glutea-line); border-radius: 0 0 18px 18px; background: var(--glutea-card-bg); padding: 8px 0; }
#dashboard-repo-list ul.repo-owner-name-list > li { border: 0; padding: 9px 14px; }
#dashboard-repo-list ul.repo-owner-name-list .repo-list-link { font-size: 14px; }
#glutea-native-heatmap {
  --color-secondary-alpha-60: color-mix(in srgb, var(--glutea-accent) 7%, transparent);
  --color-primary-light-4: color-mix(in srgb, var(--glutea-accent) 30%, transparent);
  --color-primary-light-2: color-mix(in srgb, var(--glutea-accent) 55%, transparent);
  --color-primary: color-mix(in srgb, var(--glutea-accent) 80%, transparent);
  --color-primary-dark-2: var(--glutea-accent);
  --color-primary-dark-4: var(--glutea-accent);
}
#glutea-native-heatmap .heatmap-day { rx: 2px; ry: 2px; }
.page-content .action-view-header { margin-top: 0; gap: 12px; }
#repo-action-view > .ui.fluid.container { max-width: 1280px; width: 100%; padding: 0 32px; margin: 0 auto; }
#repo-action-view .action-info-summary-title { font-size: 34px; font-weight: 600; line-height: 1.2; letter-spacing: -.035em; }
#repo-action-view .action-info-summary-title > .svg { width: 32px; height: 32px; }
.page-content .action-view-body { gap: 28px; padding-top: 24px; }
.page-content .action-view-left { background: transparent; width: 240px; flex: none; top: 88px; }
.page-content .action-view-right { width: auto; background: transparent; overflow: visible; border: 0; }
.page-content .action-view-right-panel { border: 1px solid var(--glutea-line); border-radius: 18px; background: var(--glutea-card-bg); box-shadow: var(--glutea-card-shadow); }
.page-content .job-info-header { border-radius: 18px 18px 0 0; padding: 22px; }
.page-content .job-step-container .job-step-summary { padding: 14px 16px; font-size: 13px; border-radius: 9px; }
.page-content .job-step-section .job-step-logs { padding: 12px 0; line-height: 1.8; }
.page-content .job-log-line .log-cmd-command { color: var(--glutea-accent-secondary); }
/* Measured against the interactive reference at 1440px. These compound
   selectors deliberately outrank Gitea's compact and attached variants. */
.page-content > .glutea-context-nav.secondary-nav { --color-secondary-nav-bg: var(--glutea-bg-secondary); padding: 0; }
.glutea-context-nav .ui.secondary.menu .glutea-context-tabs > .item { border-radius: 10px; min-height: 36px; height: 36px; padding: 9px 14px; gap: 9px; font-size: 14.5px; font-weight: 500; line-height: 18px; }
.glutea-context-nav .ui.secondary.menu .glutea-context-tabs > .active.item { font-weight: 600; }
.glutea-repo-header .repo-header > .flex-text-block { flex: none; gap: 10px; }
.glutea-repo-header .repo-header .ui.compact.button { min-height: 40px; padding: 10px 14px; font-size: 14px; font-weight: 600; }
.glutea-repo-header .repo-header a.ui.compact.button[href$='.rss'] { width: 40px; padding: 10px; }
.glutea-repo-header .repo-header .ui.labeled.button { display: inline-flex; min-height: 40px; border: 1px solid var(--glutea-line); border-radius: 12px; background: var(--glutea-card-bg); }
.glutea-repo-header .repo-header .ui.labeled.button > .button { min-height: 38px; border: 0; background: transparent; padding-right: 10px; }
.glutea-repo-header .repo-header .ui.labeled.button > .label { align-self: center; min-height: 0; height: 16px; padding: 0 12px 0 9px; border: 0; border-left: 1px solid var(--glutea-line); border-radius: 0; background: transparent; color: var(--glutea-muted); }
.glutea-repo-header .repo-header .ui.basic.label:not(.button > .label) { text-transform: uppercase; letter-spacing: .04em; padding: 4px 9px; }
.repository .repo-button-row .ui.button { min-height: 38px; padding: 9px 13px; font-size: 13px; font-weight: 600; }
.repository .repo-button-row .ui.icon.button { padding: 9px 10px; }
.repository .repo-button-row { gap: 10px; margin-top: 0; }
.repository .repo-file-search-container { flex: 1; min-width: 100px; }
.repository .repo-file-search-container .ui.input { width: 100%; }
.repository .repo-home-sidebar-top > .divider, .repository .repo-home-sidebar-bottom > .divider { margin: 24px 0; }
.repository .repo-home-sidebar-top, .repository .repo-home-sidebar-bottom { --color-text-light-2: var(--glutea-muted); }
/* The homepage README is one card. File pages retain a separate commit header
   and an attached toolbar/content card in both source and rendered modes. */
.repository #readme.non-diff-file-content:has(.file-view.markup) { border: 1px solid var(--glutea-line); border-radius: 18px; background: var(--color-box-body); box-shadow: none; }
.repository #readme.non-diff-file-content:has(.file-view.markup) .file-header.ui.header { border: 0; background: transparent; padding: 26px 36px 0 !important; }
.repository #readme.non-diff-file-content:has(.file-view.markup) .file-view-container.ui.segment { border: 0; background: transparent; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
.repository #readme.non-diff-file-content:has(.file-view.markup) .file-view.markup { padding: 12px 36px 30px; font-size: 16px; }
.repository #readme.non-diff-file-content:has(.file-view.markup) .file-header .file-info { font-size: 11.5px; text-transform: uppercase; letter-spacing: .08em; font-weight: 500; }
.issue-list-toolbar .small-menu-items.ui.menu > .active.item { background: transparent; }
#issue-pins .issue-card { padding: 16px 18px; border-radius: 16px; gap: 12px; min-width: 0; }
#issue-pins .issue-card > .content { min-width: 0; }
#issue-pins .issue-card-title { font-size: 15px; font-weight: 600; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; min-width: 0; line-height: 1.5; }
#issue-pins .issue-card-icon { padding-top: 3px; }
#issue-pins .issue-card .meta { font-size: 13px; line-height: 1.6; }
#issue-pins .issue-card .meta.tw-my-1 { display: inline-block; margin-right: 12px; }
#issue-pins .issue-card-bottom { margin-top: 0; }
.repository.view.issue .issue-title-buttons .ui.button { min-height: 40px; padding: 10px 15px; font-size: 14px; font-weight: 600; }
.repository.view.issue .comment-list .timeline-avatar img.ui.avatar { width: 44px; height: 44px; border-radius: 12px; }
.repository.view.issue .comment-list .comment .comment-container > :last-child { border-radius: 0 0 18px 18px; }
.repository.view.issue .comment-list .comment .comment-header { min-height: 48px; padding: 12px 20px; font-size: 13.5px; }
.repository.view.issue .comment-header .role-label { border-radius: 999px; font-size: 11px; font-weight: 500; padding: 2px 8px; line-height: 1; background: transparent; }
.repository.view.issue .comment-list .comment .render-content { padding: 18px 20px; font-size: 15px; line-height: 1.75; }
.repository.view.issue .comment-list .comment .comment-body { padding: 0; }
.repository:is(.view, .new).issue .issue-content-right .issue-sidebar-combo > .dropdown > .fixed-text { color: var(--glutea-muted); }
.repository:is(.view, .new).issue .issue-content-right .issue-sidebar-combo > .ui.dropdown { display: flex; }
.repository:is(.view, .new).issue .issue-content-right .fixed-text > .svg.octicon-gear { width: 14px; height: 14px; }
.repository:is(.view, .new).issue .issue-content-right .fixed-text > strong { font-size: 12.5px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
.repository:is(.view, .new).issue .issue-content-right > .divider { margin: 18px 0; }
.repository:is(.view, .new).issue .issue-content-right .issue-sidebar-combo > .ui.list { margin: 10px 0 0; }
.repository:is(.view, .new).issue .issue-content-right .issue-sidebar-combo > .ui.list:not(.labels-list),
.repository:is(.view, .new).issue .issue-content-right .issue-sidebar-combo > .ui.list:not(.labels-list) > .item { line-height: normal; }
.repository:is(.view, .new).issue .issue-content-right .issue-sidebar-combo > .ui.relaxed.list { display: flex; flex-direction: column; gap: 8px; }
.repository:is(.view, .new).issue .issue-content-right .issue-sidebar-combo > .ui.relaxed.list > .item { padding: 0; }
.repository:is(.view, .new).issue .issue-content-right .issue-sidebar-combo > .ui.list > .empty-list { font-size: 14px; }
.repository.view.issue .issue-content-right > a[data-global-init='initPullRequestWipToggle'] { display: block; margin-top: 10px; font-size: 13px; }
.repository:is(.view, .new).issue .issue-content-right .issue-sidebar-combo > .issue-sidebar-project-cards { margin: 10px 0 0 !important; }
.repository:is(.view, .new).issue .issue-content-right .labels-list { gap: 6px; }
.repository:is(.view, .new).issue .issue-content-right .issue-sidebar-combo:has(> input:is([name='reviewer_ids'], [name='assignee_ids'])) > .ui.list img.avatar { width: 24px; height: 24px; border-radius: 7px; }
.repository:is(.view, .new).issue .issue-content-right .issue-sidebar-combo > .ui.list a:has(> img.avatar) { gap: 10px !important; }
.repository.view.issue .issue-content-right > .ui.list.tw-flex { gap: 6px; margin-bottom: 0; }
.repository.view.issue .issue-content-right > .ui.list.tw-flex > a { display: flex; }
.repository.view.issue .issue-content-right > .ui.list.tw-flex img.avatar { width: 28px; height: 28px; border-radius: 8px; margin: 0 !important; }
.repository.view.issue .issue-content-right > .text > strong,
.repository.view.issue .issue-content-right > :is(.watching, .depending) > .text > strong,
.repository.view.issue .issue-content-right > div > .flex-text-block > strong { font-size: 13.5px; font-weight: 600; }
.repository.view.issue .issue-content-right > .watching > .tw-mt-2,
.repository.view.issue .issue-content-right > div > .ui.buttons.tw-mt-2,
.repository.view.issue .issue-content-right > .text + .ui.form.tw-mt-2 { margin-top: 10px !important; }
.repository.view.issue .issue-content-right > .depending > p { margin: 10px 0; }
.repository.view.issue .issue-content-right .watching .ui.button,
.repository.view.issue .issue-content-right .ui.button:is(.issue-start-time, .issue-stop-time, .issue-add-time, .issue-cancel-time),
.repository.view.issue .issue-content-right > form.single-button-form > .ui.button,
.repository.view.issue .issue-content-right > button.fluid { min-height: 40px; font-weight: 600; }
.repository.view.issue .issue-content-right > form.single-button-form,
.repository.view.issue .issue-content-right > button.fluid { margin-top: 8px !important; }
.repository.view.issue .issue-content-right > button[data-modal='#sidebar-delete-issue'] { color: var(--color-red); }
@media (min-width: 768px) {
  .repository:is(.view, .new).issue .issue-content-right .issue-sidebar-combo > .ui.dropdown > .menu { left: auto; right: 0; }
}
.repository:is(.view, .new).issue .issue-content-right .branch-selector-dropdown,
.repository:is(.view, .new).issue .issue-content-right .branch-dropdown-button { width: 100%; }
.repository:is(.view, .new).issue .issue-content-right .branch-dropdown-button { min-height: 40px; justify-content: space-between; font-size: 13px; }
.repository.new-repo { padding-top: 40px !important; }
.repository.new-repo > .ui.container > .ui.header { margin: 0; padding: 0; line-height: 1.05; }
.repository.new-repo > .ui.container > .ui.segment { margin-top: 32px; }
.repository.new-repo > .ui.container > .ui.attached.segment { width: 100%; margin-left: 0; margin-right: 0; }
.repository.new-repo .new-repo-form.ui.form .inline.field.glutea-init-field > .ui.checkbox { grid-column: 1 / -1; width: 100%; margin-top: 0; }
.repository.new-repo #auto-init.ui.checkbox label { padding: 0 60px 0 0; line-height: 1.6; }
.repository.new-repo .glutea-init-field .ui.toggle.checkbox label::before { left: auto; right: 0; top: 0; width: 44px; height: 26px; }
.repository.new-repo .glutea-init-field .ui.toggle.checkbox label::after { left: auto; right: 21px; top: 3px; width: 20px; height: 20px; }
.repository.new-repo .glutea-init-field .ui.toggle.checkbox input:checked ~ label::after { left: auto; right: 3px; }
.repository #repo-topics .repo-topic[style*='--glutea-topic-hue'] { padding: 4px 10px; line-height: 1.4; background: oklch(var(--glutea-label-lightness) var(--glutea-label-chroma) var(--glutea-topic-hue)); color: oklch(var(--glutea-label-ink-lightness) var(--glutea-label-ink-chroma) var(--glutea-topic-hue)); }
.repository.new-repo .glutea-form-intro { text-align: left; margin: 12px 0 0; color: var(--glutea-muted); font-size: 16px; line-height: 1.3; }
.repository.new-repo .ui.form .field { margin-bottom: 24px; }
.repository.new-repo .ui.form .inline.field > :is(input:not([type='checkbox']), .selection.dropdown) { min-height: 44px; background: var(--color-body); }
.repository.new-repo .ui.form .inline.field > textarea { min-height: 88px; background: var(--color-body); }
.repository.new-repo .ui.form .field .help { font-size: 13px; line-height: 1.5; width: auto; padding-bottom: 0; }
#dashboard-repo-list .dashboard-repos > .ui.attached.segment.repos-search { border-radius: 18px 18px 0 0; padding: 16px 16px 0; border-bottom: 0; }
/* The list below creates its own stacking context; lift the open filter's
   search segment so both choices stay visible and clickable above it. */
#dashboard-repo-list .dashboard-repos > .repos-search:has(.ui.dropdown.active, .overflow-menu-button[aria-expanded='true']) { z-index: 1; }
#dashboard-repo-list .repos-search .ui.dropdown > .menu { left: auto; right: 0; background: var(--color-box-body); }
#dashboard-repo-list .dashboard-repos > .ui.attached.table.segment { border-radius: 0 0 18px 18px; padding: 0; border-top: 0; overflow: hidden; }
#dashboard-repo-list .dashboard-repos ul.repo-owner-name-list { border: 0; border-radius: 0; background: transparent; padding: 8px 0; }
#dashboard-repo-list .dashboard-repos ul.repo-owner-name-list > li { padding: 12px 18px; }
#dashboard-repo-list .dashboard-repos .repos-filter { margin: 10px 0 0 !important; padding: 0; }
#dashboard-repo-list .dashboard-repos .repos-filter .item { padding: 12px 12px !important; font-size: 13px !important; }
#dashboard-repo-list .dashboard-repos .repos-filter .active.item { border-bottom-color: var(--glutea-accent); }

/* Native repository paging uses mixed padding utilities and a square last-item
   rule. Keep every target the same size and center the unlabelled chevrons. */
#dashboard-repo-list .ui.pagination.menu { display: inline-flex; align-items: center; gap: 6px; min-height: 0; padding: 4px; }
#dashboard-repo-list .ui.pagination.menu > .item { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; min-width: 40px; height: 40px; min-height: 40px; padding: 0 8px !important; border-radius: var(--glutea-control-radius, 12px); line-height: 1; font-size: 13px; font-variant-numeric: tabular-nums; }
#dashboard-repo-list .ui.pagination.menu > .item::before { display: none; }
#dashboard-repo-list .ui.pagination.menu > .item > .svg { margin: 0 !important; flex-shrink: 0; }
#dashboard-repo-list .ui.pagination.menu > .navigation:not(.disabled):hover { background: var(--color-hover); border-color: var(--glutea-line-strong); }
#dashboard-repo-list .ui.pagination.menu > .navigation.disabled { color: var(--glutea-muted); background: transparent; border-color: transparent; opacity: .5; cursor: default; }
#dashboard-repo-list .ui.pagination.menu > .active.item { border-color: transparent; font-weight: 600; cursor: default; }
#dashboard-repo-list .ui.pagination.menu > .navigation:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; }
@media (max-width: 767.98px) {
  #dashboard-repo-list .ui.pagination.menu > .item { min-width: 44px; height: 44px; min-height: 44px; }
}
#glutea-native-heatmap .heatmap-footer { margin-top: 16px; font-size: 12px; color: var(--glutea-muted); }
/* Secondary reference layouts share the repository header above. */
.repository.actions .flex-container-nav, .repository.activity .flex-container-nav { flex-basis: 240px; }
.repository.actions .flex-container-main > .ui.top.attached.header { min-height: 54px; padding: 10px 18px; font-size: 14px; }
.repository.actions .run-list > .item { padding: 14px 20px; min-height: 68px; }
.repository.actions .run-list .item-main { gap: 5px; }
.repository.actions .run-list .item-body { margin-top: 0; font-size: 13px; }
.repository .activity-header { font-size: 30px; }
.repository .stats-table { overflow: hidden; border-radius: 18px; }
.repository #release-list > .release-entry { display: flex; gap: 28px; }
.repository #release-list .release-entry > .meta { width: 220px; flex: none; }
.repository #release-list .release-entry > .detail { flex: 1; min-width: 0; }
.repository #release-list .release-list-title { font-size: 30px; font-weight: 600; }
.repository #release-list .download .item { min-height: 44px; padding: 12px 0; }
.repository .diff-file-body .lines-code { font-size: 13px; }
.repository .diff-file-header { min-height: 42px; padding: 10px 16px; }
.repository .diff-detail-box .ui.button { min-height: 38px; }
.explore > .secondary-nav { --color-secondary-nav-bg: var(--glutea-bg-secondary); margin-bottom: 40px; }
.explore > .secondary-nav .ui.secondary.pointing.menu { border: 0; min-height: 54px; padding-top: 8px; padding-bottom: 8px; }
.explore > .secondary-nav .overflow-menu-items { gap: 6px; justify-content: flex-start; }
.explore > .secondary-nav .ui.secondary.pointing.menu .item { padding: 10px 14px !important; border: 0; border-radius: 10px; }
.explore > .secondary-nav .ui.secondary.pointing.menu .active.item { background: var(--color-active); color: var(--color-text); }
.explore .repo-title a { color: var(--color-text); }
.explore .repo-title .repo-owner { color: var(--glutea-muted); font-weight: 400; }
.page-content.dashboard:not(.glutea-screen) > .glutea-context-nav { margin-bottom: 40px; }
.dashboard.issues .flex-container-nav { flex: 0 0 260px; }
.dashboard.issues .flex-container-nav .ui.vertical.menu > .item { border-radius: 12px; min-height: 40px; }
.dashboard.issues #issue-list { border-radius: 18px; margin-top: 16px; }
.dashboard.issues .list-header { gap: 10px; }
.dashboard.issues .list-header .ui.menu, .dashboard.issues .list-header .ui.input { min-height: 42px; }
.dashboard.issues .list-header-toggle.ui.menu { padding: 0; overflow: hidden; }
.dashboard.issues .list-header-toggle.ui.menu > .item { min-height: 40px; padding: 0 16px; border-radius: 0; font-size: 14px; }
#issue-filters.issue-list-toolbar .small-menu-items.ui.menu > .active.item { background: transparent; }
@media (max-width: 1100px) {
  #navbar.glutea-platform { padding-left: 24px; padding-right: 24px; }
  .glutea-repo-name { font-size: 38px; }
  .repository .repo-grid-filelist-sidebar { grid-template-columns: minmax(0, 1fr) 250px; gap: 22px; }
  .repository .repo-button-row { flex-wrap: wrap; }
  .repository .issue-content { grid-template-columns: minmax(0, 1fr) 230px; gap: 22px; }
  .repository.view.issue .issue-title { flex-wrap: wrap; }
}
@media (max-width: 767.98px) {
  .dashboard.issues .flex-container-nav { flex: none; }
  #navbar.glutea-platform { padding: 10px 16px; min-height: 64px; }
  #navbar .navbar-left { gap: 10px; }
  #navbar .glutea-site-name { display: none; }
  #navbar .navbar-left > .item:not(#navbar-logo) { margin: 0; }
  .page-content > .ui.container, .secondary-nav > .ui.container, .page-content > .ui.container.fluid { width: 100%; padding-left: 16px; padding-right: 16px; margin-left: 0 !important; margin-right: 0 !important; }
  .page-content > .glutea-repo-header.secondary-nav { padding-top: 24px; margin-bottom: 20px; }
  .glutea-breadcrumb { margin-bottom: 20px; }
  .glutea-repo-header .repo-header { flex-wrap: wrap; margin-bottom: 18px; }
  .glutea-repo-name { font-size: 34px; }
  .glutea-repo-description { margin-top: 0; font-size: 14px; }
  .glutea-context-nav .ui.secondary.menu { padding: 8px 16px; }
  .glutea-context-tabs { flex-wrap: nowrap; }
  .repository .repo-grid-filelist-sidebar, .repository .issue-content { display: flex; flex-direction: column; }
  .repository .repo-home-filelist, .repository .issue-content-left, .repository .issue-content-right { width: 100%; min-width: 0; }
  .repository.view.issue .issue-content-left { width: 100%; }
  .repository:is(.view, .new).issue .issue-content-right.ui.segment { width: 100%; }
  .repository .repo-home-sidebar-top, .repository .repo-home-sidebar-bottom { width: 100%; }
  .repository .repo-file-cell.message { display: none; }
  .repository .repo-file-cell.age { padding-left: 0; }
  .repository #repo-files-table .repo-file-cell { padding: 12px; }
  .repository .repo-button-row-right { flex-wrap: wrap; width: 100%; }
  .repository .repo-button-row-left { flex-wrap: wrap; }
  .repository .repo-file-search-container { flex: 1; min-width: 110px; }
  .repository .repo-file-search-container .ui.input { width: 100%; }
  .repository .file-view.markup { padding: 20px; }
  .repository.view.issue .issue-title h1 { font-size: 30px; }
  .repository .issue-title-meta { flex-wrap: wrap; gap: 12px; }
  .repository .issue-title-meta > .tw-flex-1 { flex-basis: 100%; margin-left: 0; }
  .repository.view.issue .comment-list .timeline-avatar { display: none; }
  .repository.view.issue .comment-list .timeline-item.comment > .content { margin-left: 0; }
  .repository.view.issue .comment-list .timeline-item::before { display: none; }
  .repository.view.issue .comment-list .timeline-item.event > .content { margin-left: 44px; }
  .repository.view.issue .comment-list .timeline-item.commits-list { margin-left: 16px; padding-left: 0; }
  .repository.view.issue .comment-list .commits-list > .flex-text-block { flex-wrap: wrap; gap: 6px 10px; padding-bottom: 10px; }
  .repository.view.issue .comment-list .commits-list > .flex-text-block > .flex-text-block:last-child { margin-left: auto; }
  .repository.view.issue .comment-header { padding: 12px 14px; }
  .repository.view.issue .comment-body.ui.segment { padding: 18px; }
  .repository.view.issue .comment-header .inline-timeline-avatar { display: inline-flex; }
  .repository .issue-content-right { border-top: 1px solid var(--glutea-line); padding-top: 24px; }
  .repository.view.issue .comment-list::before { display: none; }
  .repository.view.issue .comment-list .timeline-item.comment > .content { margin-left: 0; }
  .repository.view.issue .comment-list .timeline-item .timeline-avatar { display: none; }
  .repository.view.issue .comment-list .timeline-item .inline-timeline-avatar { display: inline-flex; }
  .repository #repo-files-table .repo-file-cell.message { display: none; }
  .repository #repo-files-table { grid-template-columns: minmax(0, 1fr) auto; }
  .repository #repo-files-table .repo-file-line { grid-column: 1 / -1; flex-wrap: wrap; }
  .repository #repo-files-table .repo-file-cell { min-width: 0; }
  .repository #repo-files-table .repo-file-cell.name { grid-column: 1; max-width: none; }
  .repository #repo-files-table .repo-file-cell.age { grid-column: 2; }
  .repository #repo-files-table .repo-file-cell.name a { overflow-wrap: anywhere; }
  .page-content .action-view-left { width: 100%; position: static; }
  .page-content .action-view-body { flex-direction: column; }
  #repo-action-view > .ui.fluid.container { padding: 0 16px; margin: 0 !important; }
  #repo-action-view .action-info-summary-title { font-size: 26px; }
  #issue-list > .item { padding: 16px 12px; gap: 10px; flex-wrap: wrap; }
  #issue-list .item-main { flex-basis: calc(100% - 120px); }
  #issue-list .item-trailing { margin-left: auto; }
  #issue-list .labels-list { display: flex; margin: 6px 0 0; }
  #issue-list .list-item-large-title { font-size: 14px; }
  .glutea-list-pill .glutea-pill-number { padding-left: 7px; padding-right: 6px; }
  .glutea-list-pill .glutea-pill-state { padding: 0 6px; }
  .repository #release-list .release-entry { flex-direction: column; gap: 12px; }
  .repository #release-list .release-entry > .meta { width: auto; padding: 0; }
  .repository #release-list .detail { width: 100%; padding: 20px; }
  .repository.wiki .wiki-content-main { padding: 20px; }
  .repository.wiki.view .wiki-content-parts, .repository.wiki.view .wiki-content-parts:not(:has(.wiki-content-toc)) { display: flex; flex-direction: column; }
  .repository.wiki.view .wiki-content-main, .repository.wiki.view .wiki-content-toc { width: 100%; padding: 20px; }
  .glutea-wiki-pages { display: none; }
  .repository.new-repo .ui.form > .ui.segment, .repository.new-repo .ui.form > .ui.header { padding: 22px; }
  .repository.new-repo > .ui.container > .ui.segment { padding: 22px; }
  .repository.new-repo .new-repo-form.ui.form .inline.field { display: flex; flex-direction: column; align-items: stretch; }
  .repository.new-repo .new-repo-form.ui.form .inline.field > label { padding-top: 0; margin-bottom: 9px; }
  .repository.new-repo .new-repo-form.ui.form .inline.field > .ui.checkbox { margin-top: 0; }
  .repository #readme.non-diff-file-content:has(.file-view.markup) .file-header.ui.header { padding: 20px 20px 0 !important; }
  .repository #readme.non-diff-file-content:has(.file-view.markup) .file-view.markup { padding: 12px 20px 20px; }
  #notification_table .notifications-item { padding: 16px; gap: 10px; flex-wrap: wrap; }
  #notification_table .notifications-updated { margin-left: 26px; }
  .page-footer { padding: 20px 16px; flex-wrap: wrap; gap: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Native run headings set their own font size inside the title wrapper. */
#repo-action-view .action-info-summary-title-text,
#repo-action-view .action-info-summary-title-index { font-size: inherit; line-height: 1.2; }
#repo-action-view .action-view-right { border-radius: 18px; overflow: hidden; }

/* File browsing: reference rail widths, readable code, and full-size controls. */
.repository .repo-view-container { gap: 28px; }
.repository .repo-view-file-tree-container { flex-basis: 280px; }
.repository .repo-view-container #repo-file-commit-box { min-height: 56px; border: 1px solid var(--glutea-line); border-radius: 18px; padding: 14px 18px; }
.repository .repo-view-container .non-diff-file-content .file-header.ui.header { min-height: 62px; padding: 10px 18px !important; }
.repository .repo-view-container .file-header .file-header-left { padding-block: 0 !important; }
.repository .repo-view-container .file-header .ui.mini.button { min-height: 40px; padding: 0 14px; font-size: 13px; }
.repository .repo-view-container .file-header .btn-octicon { color: var(--glutea-muted); }
.repository .repo-view-container .file-header .btn-octicon:hover { color: var(--color-text); }
.repository .repo-view-container .file-view.code-view :is(.lines-code, .lines-num) { font-size: 13px; line-height: 23px; }
.repository .repo-view-container .file-view.code-view { padding-block: 12px; }
.repository .view-file-tree-items .tree-item { border-radius: 11px; font-size: 13px; gap: 8px; }
.repository .view-file-tree-items .tree-item .item-content { gap: 8px; }
.repository .view-file-tree-items .tree-item.type-file .item-content { font-family: var(--fonts-monospace); }
.repository .view-file-tree-items .tree-item.type-directory .item-content .svg { color: var(--glutea-accent-secondary); }
.repository #diff-file-tree { flex-basis: 260px; }
.repository .diff-detail-box .ui.tiny.basic.button,
.repository .diff-detail-box .ui.tiny.primary.button { min-height: 38px; padding: 0 14px; font-size: 13px; }
@media (max-width: 1100px) and (min-width: 768px) {
  .repository .repo-view-file-tree-container { flex-basis: 240px; }
  .repository #diff-file-tree { flex-basis: 220px; }
}
@media (max-width: 767.98px) {
  .repository .repo-view-container .file-header .ui.mini.button { padding-inline: 10px; }
}

/* Global milestones: the reference's 280 px filter rail and one divided card. */
.page-content.dashboard.milestones > .ui.container > .flex-container { gap: 28px; }
.page-content.dashboard.milestones .flex-container-nav { flex: 0 0 280px; }
.page-content.dashboard.milestones .flex-container-nav .ui.vertical.menu > .item { min-height: 44px; margin: 0 0 4px; padding: 12px 14px; border-radius: 12px; font-size: 14px; font-weight: 400; }
/* Gitea marks every included repository active; when all are included, avoid
   presenting every row as the current destination. Partial selections retain
   their native active indication and all native click behavior. */
.page-content.dashboard.milestones .flex-container-nav .menu:not(:has(> .repo:not(.active))) > .repo.active { background: transparent; font-weight: 400; }
.page-content.dashboard.milestones .flex-container-nav .menu > .repo:hover { background: var(--color-hover); }
.page-content.dashboard.milestones .flex-container-nav .repo .label { min-width: 22px; min-height: 22px; display: inline-grid; place-items: center; padding: 2px 6px; border-radius: 999px; background: var(--glutea-accent); color: #fff; font: 11px var(--fonts-monospace); }
.page-content.dashboard.milestones .list-header { gap: 10px; margin-bottom: 18px; }
.page-content.dashboard.milestones .list-header-toggle { height: 44px; margin: 0; padding: 0; border: 1px solid var(--glutea-line); border-radius: 12px; box-shadow: none; overflow: hidden; }
.page-content.dashboard.milestones .list-header-toggle > .item { min-height: 42px; padding: 0 17px; border-radius: 0; font-size: 14px; font-weight: 600; }
.page-content.dashboard.milestones .list-header-search .input > input,
.page-content.dashboard.milestones .list-header-search .input > button { min-height: 44px; }
.page-content.dashboard.milestones .list-header-search .input > input { border-radius: 12px 0 0 12px; background: var(--glutea-card-bg); border-color: var(--glutea-line); padding-inline: 16px; font-size: 14.5px; }
.page-content.dashboard.milestones .list-header-search .input > button { min-width: 48px; border-radius: 0 12px 12px 0; border-color: var(--glutea-line); }
.page-content.dashboard.milestones .list-header-filters > .item { min-height: 44px; padding: 0 16px; background: var(--glutea-card-bg); border: 1px solid var(--glutea-line); border-radius: 12px; }
.page-content.dashboard.milestones .flex-container-main > .flex-divided-list { background: var(--glutea-card-bg); border: 1px solid var(--glutea-line); border-radius: 18px; box-shadow: var(--glutea-card-shadow); backdrop-filter: var(--glutea-card-blur); overflow: hidden; }
.page-content.dashboard.milestones .flex-container-main > .flex-divided-list > .item { padding: 20px 24px; margin: 0; gap: 8px; border-color: var(--glutea-line); }
.page-content.dashboard.milestones .list-item-large-title { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; font-size: 18px; line-height: 1.35; }
.page-content.dashboard.milestones .list-item-large-title > .ui.label { font: 12px var(--fonts-monospace); border-radius: 6px; padding: 4px 9px; margin: 0; background: var(--color-active); }
.page-content.dashboard.milestones .list-item-large-title > .svg { color: var(--color-text-light-2); }
.page-content.dashboard.milestones .list-item-title-progress { width: 244px; height: 10px; border-radius: 999px; overflow: hidden; appearance: none; background: var(--color-active); }
.page-content.dashboard.milestones .list-item-title-progress::-webkit-progress-bar { background: var(--color-active); border-radius: 999px; }
.page-content.dashboard.milestones .list-item-title-progress::-webkit-progress-value { background: var(--glutea-accent); border-radius: 999px; }
.page-content.dashboard.milestones .list-item-title-progress::-moz-progress-bar { background: var(--glutea-accent); border-radius: 999px; }
.page-content.dashboard.milestones .flex-left-right > .flex-text-inline { gap: 12px; flex-shrink: 0; font: 13px var(--fonts-monospace); color: var(--color-text-light-2); }
.page-content.dashboard.milestones .list-item-secondary-bar { color: var(--color-text-light-2); font-size: 13.5px; }
.page-content.dashboard.milestones .list-item-secondary-bar > .flex-text-block { gap: 12px 18px; }
.page-content.dashboard.milestones .list-item-secondary-bar .flex-text-inline { gap: 6px; }
.page-content.dashboard.milestones .flex-divided-list .markup { font-size: 15px; line-height: 1.5; }
.page-content.dashboard.milestones .flex-divided-list .markup p { margin: 0; }
@media (max-width: 1100px) {
  .page-content.dashboard.milestones .flex-container-nav { flex-basis: 240px; }
  .page-content.dashboard.milestones .list-item-title-progress { width: 160px; }
}
@media (max-width: 767.98px) {
  .page-content.dashboard.milestones .flex-container-nav { flex: none; }
  .page-content.dashboard.milestones .flex-container-main > .flex-divided-list > .item { padding: 18px 16px; }
  .page-content.dashboard.milestones .flex-divided-list .flex-left-right { flex-wrap: wrap; gap: 12px; }
  .page-content.dashboard.milestones .list-item-large-title { min-width: 0; font-size: 17px; }
  .page-content.dashboard.milestones .list-item-large-title > .ui.label { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
  .page-content.dashboard.milestones .list-item-title-progress { width: min(244px, 50vw); }
  .page-content.dashboard.milestones .list-header-toggle > .item { padding-inline: 12px; }
}

/* Wiki: one heading row, persistent native page selector, and three reading columns. */
.repository.wiki.view > .ui.container.glutea-wiki-layout { display: grid; grid-template-columns: 260px minmax(0, 1fr) 240px; gap: 20px; align-items: start; }
.repository.wiki.view .glutea-wiki-layout > .wiki-content-parts { display: contents; }
.repository.wiki.view .glutea-wiki-picker { grid-column: 1; grid-row: 1; margin: 0; min-width: 0; }
.repository.wiki.view .glutea-wiki-picker > .flex-text-block,
.repository.wiki.view .glutea-wiki-picker .ui.dropdown { width: 100%; min-width: 0; }
.repository.wiki.view .glutea-wiki-picker .ui.dropdown > .button { display: flex; justify-content: space-between; width: 100%; min-height: 40px; padding: 0 14px; border-radius: 12px; color: var(--color-text-light-2); background: var(--glutea-card-bg); border-color: var(--glutea-line); }
.repository.wiki.view .glutea-wiki-picker .ui.dropdown > .menu { min-width: 100%; max-width: min(320px, calc(100vw - 48px)); }
.repository.wiki.view > .ui.container.glutea-wiki-layout > .ui.dividing.header.glutea-wiki-header { grid-column: 2 / -1; grid-row: 1; border: 0; margin: 0 0 0 8px; padding: 0; }
.repository.wiki.view .glutea-wiki-header > .flex-text-block { gap: 16px; align-items: flex-end; }
.repository.wiki.view .glutea-wiki-identity { min-width: 0 !important; }
.repository.wiki.view > .ui.container.glutea-wiki-layout > .ui.dividing.header .glutea-wiki-title { overflow: visible; white-space: normal; font-size: 34px; font-weight: 600; line-height: 1.15; letter-spacing: -.035em; }
.repository.wiki.view > .ui.container.glutea-wiki-layout > .ui.dividing.header .glutea-wiki-subtitle.ui.sub.header { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; margin-top: 8px; font-size: 13.5px; line-height: 1.4; font-weight: 400; letter-spacing: 0; text-transform: none; white-space: normal; }
.repository.wiki.view .glutea-wiki-history.ui.button { min-height: 0; margin-left: 6px; padding: 0 0 0 10px !important; border: 0; border-left: 1px solid var(--glutea-line-strong); border-radius: 0; background: transparent; color: var(--color-primary); font-size: 13px; gap: 5px !important; }
.repository.wiki.view .glutea-wiki-actions { margin: 0; gap: 8px; }
.repository.wiki.view .glutea-wiki-actions .ui.button { min-height: 40px; padding: 0 16px; font-size: 14px; font-weight: 600; }
.repository.wiki.view .glutea-wiki-actions .js-btn-clone-panel { background: var(--glutea-card-bg); border: 1px solid var(--glutea-line); color: var(--color-text); }
.repository.wiki.view .glutea-wiki-actions .ui.red.button { background: var(--glutea-card-bg); border: 1px solid var(--glutea-line); color: var(--color-red); }
.repository.wiki.view .glutea-wiki-layout .glutea-wiki-pages { grid-column: 1; grid-row: 2; position: sticky; top: 88px; padding: 0; margin-top: -14px; }
.repository.wiki.view .glutea-wiki-layout .glutea-wiki-pages > a { display: flex; align-items: center; min-height: 38px; margin: 0 0 4px; padding: 9px 12px; border-radius: 11px; font-size: 14px; line-height: 1.3; color: var(--color-text); }
.repository.wiki.view .glutea-wiki-layout .glutea-wiki-pages > a:first-child { min-height: 24px; padding-top: 0; padding-bottom: 4px; font-size: 11.5px; letter-spacing: .07em; font-weight: 500; text-transform: uppercase; color: var(--color-text-light-2); }
.repository.wiki.view .glutea-wiki-layout .glutea-wiki-pages > a[aria-current="page"] { background: var(--color-active); font-weight: 600; }
.repository.wiki.view .glutea-wiki-layout .glutea-wiki-pages > a.glutea-wiki-new-page { justify-content: center; gap: 8px; margin-top: 24px; min-height: 40px; color: #fff; background: var(--glutea-accent); font-weight: 600; }
.repository.wiki.view .glutea-wiki-new-page::before { content: '+'; font-size: 20px; font-weight: 400; }
.repository.wiki.view .glutea-wiki-layout .wiki-content-main { grid-column: 2; grid-row: 2; width: auto; margin: 0 0 0 8px; padding: 32px; font-size: 15.5px; line-height: 1.75; }
.repository.wiki.view .glutea-wiki-layout .wiki-content-main h1 { margin: 0 0 16px; padding-bottom: 20px; border-bottom: 1px solid var(--glutea-line); font-size: 32px; line-height: 1.2; }
.repository.wiki.view .glutea-wiki-layout .wiki-content-main h2 { margin-top: 28px; font-size: 20px; }
.repository.wiki.view .glutea-wiki-layout .glutea-wiki-outline { grid-column: 3; grid-row: 2; display: grid; gap: 20px; position: sticky; top: 88px; min-width: 0; }
.repository.wiki.view .glutea-wiki-outline > .wiki-content-sidebar { grid-column: auto; grid-row: auto; width: 100%; min-width: 0; float: none; margin: 0; padding: 18px 20px; font-size: 13.5px; line-height: 1.7; border: 1px solid var(--glutea-line); border-radius: 18px; background: var(--glutea-card-bg); box-shadow: var(--glutea-card-shadow); backdrop-filter: var(--glutea-card-blur); }
.repository.wiki.view .glutea-wiki-outline .wiki-content-toc summary { font-weight: 600; color: var(--color-text); }
.repository.wiki.view .glutea-wiki-outline .wiki-content-toc ul { padding-left: 16px; margin-bottom: 0; }
.repository.wiki.view .glutea-wiki-outline .wiki-content-toc a { color: var(--color-text-light-2); }
.repository.wiki.view .glutea-wiki-layout .wiki-content-footer { grid-column: 2 / -1; margin-left: 8px; }
.repository.wiki.view .glutea-wiki-layout > .message { grid-column: 1 / -1; }
.repository.wiki.view .glutea-wiki-layout .wiki-content-parts > .tw-clear-both { display: none; }
@media (max-width: 1100px) {
  .repository.wiki.view > .ui.container.glutea-wiki-layout { grid-template-columns: 220px minmax(0, 1fr); }
  .repository.wiki.view .glutea-wiki-layout .glutea-wiki-outline { grid-column: 1; grid-row: 3; position: static; }
  .repository.wiki.view .glutea-wiki-layout .wiki-content-main { grid-column: 2; grid-row: 2 / 4; }
}
@media (max-width: 767.98px) {
  .repository.wiki.view > .ui.container.glutea-wiki-layout { display: flex; flex-direction: column; gap: 20px; }
  .repository.wiki.view .glutea-wiki-layout > *,
  .repository.wiki.view .glutea-wiki-layout .wiki-content-parts > * { width: 100%; }
  .repository.wiki.view > .ui.container.glutea-wiki-layout > .ui.dividing.header.glutea-wiki-header { margin-left: 0; }
  .repository.wiki.view .glutea-wiki-header > .flex-text-block { align-items: flex-start; flex-direction: column; }
  .repository.wiki.view > .ui.container.glutea-wiki-layout > .ui.dividing.header .glutea-wiki-title { font-size: 30px; }
  .repository.wiki.view .glutea-wiki-layout .glutea-wiki-pages { position: static; margin: 0; display: flex; flex-direction: row; flex-wrap: wrap; gap: 4px; }
  .repository.wiki.view .glutea-wiki-layout .glutea-wiki-pages > a.glutea-wiki-new-page { margin-top: 0; }
  .repository.wiki.view .glutea-wiki-layout .wiki-content-main { margin: 0; padding: 24px; font-size: 15px; }
  .repository.wiki.view .glutea-wiki-layout .glutea-wiki-outline { position: static; }
  .repository.wiki.view .glutea-wiki-layout .wiki-content-footer { margin-left: 0; }
}
/* Releases and tags: 42 px toolbar, 220 px metadata rail, compact notes. */
.repository:is(.releases, .tags) > .ui.container > .flex-text-block:has(.small-menu-items) { gap: 10px; flex-wrap: wrap; }
.repository:is(.releases, .tags) .small-menu-items.ui.menu { height: 42px; padding: 0; margin: 0; border: 1px solid var(--glutea-line); border-radius: 12px; box-shadow: none; overflow: hidden; }
.repository:is(.releases, .tags) .small-menu-items.ui.menu > .item { min-height: 40px; padding: 0 16px; gap: 8px; border-radius: 0; font-size: 14px; font-weight: 600; color: var(--glutea-muted); }
.repository:is(.releases, .tags) .small-menu-items.ui.menu > .active.item { color: var(--color-text); background: var(--color-active); }
.repository:is(.releases, .tags) .small-menu-items.ui.menu > .item + .item { border-left: 1px solid var(--glutea-line); }
.repository:is(.releases, .tags) .small-menu-items.ui.menu > .item::before { content: ''; position: static; display: block; width: 15px; height: 15px; flex: none; background: currentColor; mask: url('../img/lucide/rocket.svg') center / contain no-repeat; }
.repository:is(.releases, .tags) .small-menu-items.ui.menu > .item[href$='/tags']::before { mask-image: url('../img/lucide/tag.svg'); }
.repository:is(.releases, .tags) > .ui.container > .flex-text-block:has(.small-menu-items) > .ui.button { min-height: 42px; padding: 0 16px; border-radius: 12px; font-size: 14px; font-weight: 600; }
.repository:is(.releases, .tags) > .ui.container > .flex-text-block:has(.small-menu-items) + .divider { margin: 0; height: 28px; border: 0; }
.repository #release-list { margin: 0; }
.repository #release-list .detail { margin: 0; padding: 24px 28px; }
.repository #release-list .release-entry > .meta { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; font: 14px var(--fonts-regular); }
.repository #release-list .meta > a { display: inline-flex; align-items: center; gap: 8px; margin: 0; }
.repository #release-list .meta > a:first-child { font-weight: 600; color: var(--color-text); }
.repository #release-list .meta > a.tw-font-mono { font-size: 13px; }
.repository #release-list .meta > a > .svg { margin: 0; color: var(--glutea-muted); }
.repository #release-list .release-branch-tag-selector { margin-top: 6px; }
.repository #release-list .release-branch-tag-selector .branch-dropdown-button { min-height: 38px; padding: 0 14px; border-radius: 11px; font-size: 13.5px; font-weight: 600; }
.repository #release-list .release-list-title { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; line-height: 1.3; letter-spacing: -.03em; }
.repository #release-list .release-list-title > .ui.label { font-size: 12px; font-weight: 600; padding: 3px 10px; margin: 0; line-height: 1.2; }
.repository #release-list .detail > .flex-left-right { gap: 16px; margin-bottom: 0 !important; }
.repository #release-list .detail > .flex-left-right > div:last-child > a { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; color: var(--glutea-muted); }
.repository #release-list .detail > .flex-left-right > div:last-child > a:hover { background: var(--color-hover); }
.repository #release-list .detail > p { margin: 12px 0 20px; font-size: 14px; line-height: 1.6; color: var(--glutea-muted); }
.repository #release-list .author a { color: var(--color-text); font-weight: 600; }
.repository #release-list .author .avatar { width: 22px; height: 22px; border-radius: 7px; margin-right: 8px; }
.repository #release-list .render-content { font-size: 15px; line-height: 1.8 !important; }
.repository #release-list .render-content :is(h1, h2, h3, h4) { margin: 18px 0 10px; padding-bottom: 8px; border-bottom: 1px solid var(--glutea-line); font-weight: 600; letter-spacing: 0; line-height: 1.4; }
.repository #release-list .render-content h1 { font-size: 22px; }
.repository #release-list .render-content h2 { font-size: 17px; }
.repository #release-list .render-content :is(h3, h4) { font-size: 15px; }
.repository #release-list .render-content > :first-child { margin-top: 0; }
.repository #release-list .render-content :is(ul, ol) { margin: 0 0 18px; padding-left: 22px; }
.repository #release-list .render-content ul { list-style-type: disc; }
.repository #release-list .render-content li + li { margin-top: 0; }
.repository #release-list .render-content pre { padding: 14px 16px; border-radius: 12px; font-size: 13px; }
.repository #release-list .detail > .divider { margin: 20px 0 16px; border-color: var(--glutea-line); }
.repository #release-list .download { padding-top: 0; }
.repository #release-list .download > summary { display: flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 600; cursor: pointer; list-style: none; }
.repository #release-list .download > summary::-webkit-details-marker { display: none; }
.repository #release-list .download > summary::before { content: ''; width: 14px; height: 14px; flex: none; background: currentColor; mask: url('../img/lucide/chevron-down.svg') center / contain no-repeat; transform: rotate(-90deg); }
.repository #release-list .download[open] > summary::before { transform: none; }
.repository #release-list .download .attachment-list { margin: 12px 0 0; border: 1px solid var(--glutea-line); border-radius: 12px; overflow: hidden; }
.repository #release-list .download .item { min-height: 44px; padding: 12px 16px; border-color: var(--glutea-line); font-size: 14.5px; }
.repository #release-list .download .item:hover { background: var(--color-hover); }
.repository #release-list .download .item strong { font-weight: 600; gap: 10px; }
.repository #release-list .download .download-icon { color: inherit; }
.repository #release-list .attachment-right-info { font-size: 12px; color: var(--glutea-muted); }
.repository.tags > .ui.container > .ui.top.attached.header { padding: 18px 22px; font-size: 17px; font-weight: 600; }
.repository.tags > .ui.container > .ui.attached.segment:has(form) { padding: 14px 22px; }
.repository.tags form .ui.input > input { min-height: 42px; padding: 0 14px; background: var(--color-body); border-color: var(--glutea-line); font-size: 14px; }
.repository.tags form .ui.input > button { width: 44px; min-height: 42px; border-color: var(--glutea-line); }
.repository.tags #tags-table > .tag-list-row { padding: 18px 22px !important; border-color: var(--glutea-line); }
.repository.tags #tags-table .tag-list-row-title { margin: 0 0 10px !important; font-size: 20px; font-weight: 600; letter-spacing: -.02em; }
.repository.tags .tag-list-row-link { font-size: inherit; font-weight: inherit; }
.repository.tags .tag-list-row > .flex-text-block { gap: 10px 18px !important; font-size: 14px; color: var(--glutea-muted); }
.repository.tags .tag-list-row .tw-font-mono { font-size: 13px; }
.repository.tags .tag-list-row a:not(.tag-list-row-link, .tw-font-mono) { color: var(--color-text); font-weight: 500; }
.repository.tags .tag-list-row a.link-action { color: var(--glutea-delete); }
@media (max-width: 767.98px) {
  .repository:is(.releases, .tags) > .ui.container > .flex-text-block:has(.small-menu-items) > div:first-child { flex: 1 0 100% !important; }
  .repository #release-list .release-entry > .meta { flex-direction: row; justify-content: flex-start; align-items: center; flex-wrap: wrap; gap: 10px 16px; }
  .repository #release-list .release-branch-tag-selector { margin-top: 0; }
  .repository #release-list .detail { padding: 20px; }
  .repository #release-list .release-list-title { font-size: 26px; }
  .repository #release-list .download .item { flex-wrap: wrap; gap: 8px; }
  .repository #release-list .release-entry .attachment-list .attachment-right-info { min-width: 0; width: calc(100% - 26px); margin-left: 26px; flex-wrap: wrap; }
  .repository #release-list .attachment-right-info > span { padding-left: 0 !important; }
  .repository.tags > .ui.container > .ui.top.attached.header,
  .repository.tags #tags-table > .tag-list-row { padding: 18px 16px !important; }
  .repository.tags > .ui.container > .ui.attached.segment:has(form) { padding: 14px 16px; }
}
/* Secondary repository views: native wrappers differ from their tab names. */
.repository.commits > .flex-container:has(.activity-header) > .flex-container-nav { flex: 0 0 240px; }
.repository.commits .ui.header.activity-header { margin: 0 0 24px; font-size: 30px; font-weight: 600; letter-spacing: -.03em; }
.repository.actions .glutea-workflows-heading { margin: 6px 14px 12px; color: var(--glutea-muted); font-size: 11.5px; line-height: 13px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; }
.repository.actions .glutea-workflows-heading + .ui.vertical.menu { margin-top: 8px; }
.repository.actions .flex-container-nav .ui.vertical.menu a.item { display: flex; align-items: center; gap: 10px; padding-block: 11.5px; }
.repository.actions .flex-container-nav .ui.vertical.menu a.item::before { content: ''; position: static; display: block; flex: 0 0 14px; width: 14px; height: 14px; background: currentColor; mask: url('../img/lucide/file-code.svg') center / contain no-repeat; }
.repository.actions .flex-container-nav .ui.vertical.menu > a.item:first-child::before { display: block !important; mask-image: url('../img/lucide/play.svg'); }
.repository.actions .flex-container-main > .ui.top.attached.header { margin-inline: 0; width: auto; padding: 0 22px; min-height: 54px; }
.repository.actions .run-list > .item { min-height: 68px; padding: 13px 22px !important; gap: 20px; }
.repository.actions .run-list .item-leading .svg { width: 22px; height: 22px; }
.repository.actions .run-list .item-main { gap: 2px; }
.repository.actions .run-list .item-title { line-height: 20px; }
.repository.actions .run-list .item-body { line-height: 18px; }
.repository.actions .run-list .run-list-meta { line-height: 18px; }
.repository.actions .run-list .run-list-item-right { gap: 2px; }
.repository #readme .file-header-left { padding-block: 0 !important; font-size: 11.5px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--glutea-muted); }
.repository #readme .file-header-left strong { font-weight: inherit; }
.repository #readme .file-header-left a { color: inherit; }
.repository.view.issue:has(.ui.pull.tabs) .issue-title-header { margin-bottom: 28px; }
.repository.view.issue .ui.pull.tabs.container { margin-bottom: 28px; }
.repository.view.issue .ui.pull.tabular.menu { min-height: 41px; }
.repository.view.issue .ui.pull.tabs.container > .ui.pull.tabular.menu > .item { padding: 10px 14px !important; margin-bottom: -1px; }
@media (max-width: 767.98px) {
  .repository.actions .flex-container-nav { flex: none; }
  .repository.commits > .flex-container:has(.activity-header) > .flex-container-nav { flex: none; }
  .repository.commits .ui.header.activity-header { font-size: 26px; }
  .repository.actions .flex-container-main > .ui.top.attached.header { padding: 10px 16px; }
  .repository.actions .run-list > .item { padding-inline: 16px !important; }
}
/* Notification inbox: a centered reading column and compact divided rows. */
#notification_div > .ui.container { max-width: 1064px; margin-top: 0; }
#notification_div .glutea-page-heading { margin: 0; font-size: clamp(30px, 4vw, 44px); font-weight: 600; line-height: 1.05; }
#notification_div .glutea-notification-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 16px; margin-bottom: 28px; }
#notification_div .glutea-notification-heading form { grid-column: 2; grid-row: 1 / 3; align-self: end; }
#notification_div .glutea-notification-heading .ui.button { min-height: 40px; padding: 0 16px; font-size: 14px; background: var(--glutea-card-bg); border: 1px solid var(--glutea-line); color: var(--color-text); }
#notification_div .glutea-page-description { grid-column: 1; margin: 12px 0 0; font-size: 16px; line-height: 1.2; color: var(--glutea-muted); }
#notification_div > .ui.container > .flex-left-right { margin-bottom: 16px !important; gap: 12px; }
#notification_div .small-menu-items.ui.menu { padding: 0; margin: 0; min-height: 42px; border: 1px solid var(--glutea-line); border-radius: 12px; overflow: hidden; box-shadow: none; }
#notification_div .small-menu-items.ui.menu > .item { padding: 0 16px !important; min-height: 40px; border-radius: 0; font-size: 14px; font-weight: 600; gap: 8px; }
#notification_div .small-menu-items.ui.menu > .active.item { background: var(--color-active) !important; }
#notification_div .notifications-unread-count.ui.label { background: var(--glutea-accent); color: #fff; }
#notification_div #notification_table .notifications-item { min-height: 68px; padding: 14px 22px; gap: 14px; }
#notification_div #notification_table .notifications-item + .notifications-item { border-top: 1px solid var(--glutea-line); }
#notification_div .notifications-link { min-width: 0; }
#notification_div #notification_table .notifications-link > :first-child { margin-bottom: 4px; line-height: 14px; }
#notification_div #notification_table .notifications-link > :last-child { padding-block: 0 !important; font-size: 15px; line-height: 21px; }
#notification_div #notification_table .notifications-updated { display: flex; flex-shrink: 0; }
#notification_div #notification_table .notifications-buttons { display: flex; align-items: center; justify-content: end; gap: 4px; }
#notification_div .notifications-buttons button { color: var(--glutea-muted); }
#notification_div .notifications-buttons button[value="pin"] { order: 1; }
@media (max-width: 767.98px) {
  #notification_div .glutea-notification-heading { grid-template-columns: minmax(0, 1fr); }
  #notification_div .glutea-notification-heading form { grid-column: 1; grid-row: 3; margin-top: 16px; }
  #notification_div .notifications-buttons { margin-left: auto; }
  #notification_div #notification_table .notifications-item { padding: 14px 16px; gap: 10px; }
  #notification_div .notifications-link { flex: 1 0 calc(100% - 38px) !important; }
  #notification_div #notification_table .notifications-updated { margin-left: 26px; }
}

/* Explore: reference navigation, 44px search controls, and 134px repository rows. */
.page-content.explore > overflow-menu.secondary-nav { min-height: 54px; padding: 8px max(32px, calc((100% - 1216px) / 2)); margin: 0 0 40px !important; border: 0; background: var(--glutea-bg-secondary); }
.page-content.explore > overflow-menu.secondary-nav .overflow-menu-items { justify-content: flex-start !important; gap: 0; }
.page-content.explore > overflow-menu.secondary-nav .overflow-menu-items > .item { min-height: 36px; padding: 9px 14px !important; margin: 0 6px 0 0; border: 0; border-radius: 10px !important; font-size: 14px; line-height: 18px; }
.page-content.explore > overflow-menu.secondary-nav .overflow-menu-items > .active.item { background: var(--color-active); color: var(--color-text); }
.page-content.explore > .ui.container { margin-top: 0; }
.page-content.explore.repositories .glutea-page-heading { margin: 0; font-size: clamp(30px, 4vw, 44px); line-height: 1.05; }
.page-content.explore .glutea-explore-description { margin: 12px 0 24px; font-size: 16px; line-height: 1.5; color: var(--glutea-muted); }
.explore.repositories > .ui.container > .ui.filter.menu { margin: 0 0 24px; padding: 0; }
.explore.repositories .filter.menu > form { gap: 10px; }
.explore.repositories .filter.menu .ui.action.input { min-height: 44px; }
.explore.repositories .filter.menu .ui.action.input > input { min-height: 44px; padding: 0 14px; font-size: 14px; }
.explore.repositories .filter.menu .ui.action.input > button { min-height: 44px; width: 48px; }
.explore.repositories .filter.menu > form > .ui.dropdown { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; margin: 0; padding: 0 16px; border: 1px solid var(--glutea-line); border-radius: 12px; background: var(--glutea-card-bg); font-size: 14px; }
.explore.repositories > .ui.container > .filter.menu + .divider { display: none; }
.explore.repositories > .ui.container > .flex-divided-list.items-with-main { margin-top: 0; }
.explore.repositories .flex-divided-list.items-with-main > .item { min-height: 134px; padding: 22px 24px !important; gap: 18px; }
.explore.repositories .flex-divided-list.items-with-main .item-leading { width: 52px; flex: none; }
.explore.repositories .flex-divided-list.items-with-main .item-leading img.ui.avatar { width: 52px; height: 52px; border-radius: 14px; }
/* Keep Gitea's default repository symbol when no actual custom avatar exists. */
.explore.repositories .flex-divided-list.items-with-main .item-leading img[src$='/repo_default.png'] { padding: 13px; background: var(--color-active); }
.explore.repositories .flex-divided-list.items-with-main .item-main { min-width: 0; gap: 8px; }
.explore.repositories .flex-divided-list.items-with-main .item-title { gap: 0; font-size: 20px; line-height: 24px; font-weight: 600; letter-spacing: -.02em; }
.explore.repositories .flex-divided-list.items-with-main .item-title > .name { color: var(--color-text) !important; }
.explore.repositories .flex-divided-list.items-with-main .item-title > .name:first-child:not(:last-of-type) { color: var(--glutea-muted) !important; font-weight: 400; }
.explore.repositories .flex-divided-list.items-with-main .item-body { font-size: 15px; line-height: 22px; }
.explore.repositories .flex-divided-list.items-with-main .item-trailing { font-size: 13px; color: var(--glutea-muted); gap: 14px; }
.explore.repositories .flex-divided-list.items-with-main .item-trailing a { color: inherit; }
.explore.repositories .flex-divided-list.items-with-main .item-trailing svg { width: 14px; height: 14px; }
.explore.repositories .glutea-explore-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.explore.repositories .flex-divided-list.items-with-main .glutea-explore-meta .item-body { font-size: 13px; line-height: 20px; color: var(--glutea-faint); }
.explore.repositories .glutea-explore-meta .label-list { margin: 0; }
.explore.repositories .glutea-explore-meta .label-list .ui.label { font-size: 13px; font-weight: 500; padding: 4px 10px; }
@media(max-width:767.98px) {
  .page-content.explore > overflow-menu.secondary-nav { padding-inline: 16px; margin-bottom: 28px !important; }
  .explore.repositories .filter.menu .ui.action.input { flex-basis: 100% !important; }
  .explore.repositories .filter.menu > form > .ui.dropdown { flex: 1; }
  .explore.repositories .flex-divided-list.items-with-main > .item { padding: 20px 16px !important; gap: 14px; }
  .explore.repositories .flex-divided-list.items-with-main .item-leading { width: 44px; }
  .explore.repositories .flex-divided-list.items-with-main .item-leading img.ui.avatar { width: 44px; height: 44px; border-radius: 12px; }
  .explore.repositories .flex-divided-list.items-with-main .item-title { font-size: 18px; overflow-wrap: anywhere; }
  .explore.repositories .flex-divided-list.items-with-main .item-header { flex-wrap: wrap; gap: 10px; }
  .explore.repositories .flex-divided-list.items-with-main .item-trailing { flex-wrap: wrap; gap: 8px 12px; }
}

/* Native compact/secondary variants otherwise override these reference sizes. */
#repo-action-view .action-view-header .ui.button { min-height: 40px; padding: 0 16px; font-size: 14px; }
.dashboard.issues .flex-container-nav .ui.secondary.vertical.menu > .item { border-radius: 12px !important; }
@media (min-width: 768px) {
  #repo-action-view .action-view-left { width: 280px; }
}

/* PR commit history: retain the native table/links, add the reference date rail. */
.repository.view.issue .glutea-pr-commits.commit-table.ui.attached.segment { position: relative; overflow: visible; margin: 0; width: 100%; max-width: 100%; }
.repository.view.issue .glutea-pr-commits::before { content: ''; position: absolute; left: 20px; top: 0; bottom: 16px; width: 2px; background: var(--glutea-line-strong); }
.repository.view.issue .glutea-pr-commits #commits-table { width: calc(100% - 60px); margin: 0 0 0 60px; overflow: visible; table-layout: fixed; }
.repository.view.issue .glutea-pr-commits #commits-table .commit-list { overflow: visible; }
.repository.view.issue .glutea-pr-commits #commits-table .glutea-commit-date > td { position: relative; padding: 32px 0 12px; color: var(--color-text); font-size: 14px; line-height: 20px; font-weight: 600; }
.repository.view.issue .glutea-pr-commits #commits-table .glutea-commit-date:first-child > td { padding-top: 0; }
.repository.view.issue .glutea-pr-commits #commits-table .glutea-commit-date > td::before { content: ''; position: absolute; left: -56px; bottom: 4px; width: 32px; height: 32px; border-radius: 10px; border: 1px solid var(--glutea-line-strong); background: var(--glutea-surface-raised); }
.repository.view.issue .glutea-pr-commits #commits-table .glutea-commit-date > td::after { content: ''; position: absolute; left: -47px; bottom: 13px; width: 14px; height: 14px; background: var(--glutea-muted); mask: url('../img/lucide/git-commit-horizontal.svg') center/contain no-repeat; transform: rotate(90deg); }
.repository.view.issue .glutea-pr-commits .glutea-pr-commits-total.ui.header { position: absolute; right: 0; top: 0; width: auto; margin: 0; padding: 0; min-height: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; font-size: 13px; font-weight: 400; color: var(--glutea-muted); }
.repository.view.issue .glutea-pr-commits #commits-table .glutea-commit-row { height: 58px; }
.repository.view.issue .glutea-pr-commits #commits-table .glutea-commit-row > td { padding: 14px 18px; font-size: 13px; }
.repository.view.issue .glutea-pr-commits #commits-table .author, .glutea-pr-commit-columns col:first-child { width: 196px; }
.repository.view.issue .glutea-pr-commits #commits-table .sha, .glutea-pr-commit-columns col:nth-child(2), .glutea-pr-commit-columns col:nth-child(4) { width: 136px; }
.repository.view.issue .glutea-pr-commits #commits-table .message { width: auto; }
.repository.view.issue .glutea-pr-commits #commits-table td:nth-child(4) { width: 136px; color: var(--glutea-faint); }
.repository.view.issue .glutea-pr-commits #commits-table td:nth-child(5), .glutea-pr-commit-columns col:nth-child(5) { width: 94px; }
.repository.view.issue .glutea-pr-commits .avatar-stack-names { gap: 10px; }
.repository.view.issue .glutea-pr-commits .avatar-stack img.ui.avatar { width: 26px; height: 26px; border-radius: 8px; }
.repository.view.issue .glutea-pr-commits #commits-table .ui.label.commit-id-short { padding: 0; border: 0; background: transparent; color: var(--glutea-muted); font-size: 12.5px; font-weight: 400; box-shadow: none; }
.repository.view.issue .glutea-pr-commits .copy-commit-id,
.repository.view.issue .glutea-pr-commits .view-commit-path { color: var(--glutea-faint); }
@media(max-width:767.98px) {
  .glutea-pr-commit-columns { display: none; }
  .repository.view.issue .glutea-pr-commits #commits-table .glutea-commit-row .sha { display: block !important; }
  .repository.view.issue .glutea-pr-commits .avatar-stack-names { width: auto; max-width: 100%; white-space: normal; }
  .repository.view.issue .glutea-pr-commits .avatar-stack-names > a { white-space: normal; overflow: visible; text-overflow: clip; }
  .repository.view.issue .glutea-pr-commits::before { left: 12px; }
  .repository.view.issue .glutea-pr-commits #commits-table { width: calc(100% - 36px); margin-left: 36px; table-layout: auto; }
  .repository.view.issue .glutea-pr-commits #commits-table tbody { display: block; }
  .repository.view.issue .glutea-pr-commits #commits-table .glutea-commit-date { display: block; }
  .repository.view.issue .glutea-pr-commits #commits-table .glutea-commit-date > td { display: block; width: 100%; font-size: 13px; }
  .repository.view.issue .glutea-pr-commits #commits-table .glutea-commit-date > td::before { left: -36px; width: 26px; height: 26px; bottom: 8px; border-radius: 8px; }
  .repository.view.issue .glutea-pr-commits #commits-table .glutea-commit-date > td::after { left: -30px; bottom: 14px; }
  .repository.view.issue .glutea-pr-commits #commits-table .glutea-commit-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; height: auto; padding: 8px 0; border: 1px solid var(--glutea-line); background: var(--glutea-card-bg); }
  .repository.view.issue .glutea-pr-commits #commits-table .glutea-commit-row > td { display: block; width: auto; padding: 6px 12px; border: 0; border-radius: 0; background: transparent; }
  .repository.view.issue .glutea-pr-commits #commits-table .glutea-commit-row .author { font-size: 12px; }
  .repository.view.issue .glutea-pr-commits #commits-table .glutea-commit-row .message { grid-column: 1 / -1; overflow-wrap: anywhere; }
  .repository.view.issue .glutea-pr-commits #commits-table .glutea-commit-date + .glutea-commit-row { border-radius: 14px 14px 0 0; }
  .repository.view.issue .glutea-pr-commits #commits-table .glutea-commit-last { border-radius: 0 0 14px 14px; }
  .repository.view.issue .glutea-pr-commits #commits-table .glutea-commit-date + .glutea-commit-last { border-radius: 14px; }
}

/* Repository history: compact navigation, one search toolbar, message-led rows.
   Pull-request commit tables retain their separate layout above. */
.glutea-commit-history .glutea-commit-navigation { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; margin-bottom: 24px; }
.glutea-commit-history .repository-summary.ui.segments { flex: 0 1 auto; min-width: 0; margin: 0 !important; }
.glutea-commit-history .repository-summary .repository-menu.ui.segment { display: flex; flex-wrap: wrap; width: auto; gap: 6px; border: 0; border-radius: 0; padding: 0; background: transparent; }
.glutea-commit-history .repository-summary .repository-menu > .item { display: inline-flex; flex: 0 0 auto; width: auto; min-height: 36px; align-items: center; gap: 5px; padding: 7px 10px; border: 0; border-radius: 8px; background: transparent; font-size: 13px; }
.glutea-commit-history .repository-summary .repository-menu > .active.item { background: var(--color-active); color: var(--color-text); }
.glutea-commit-history .glutea-commit-navigation .repo-button-row { margin: 0; }
.glutea-commit-history .glutea-commit-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px; margin-bottom: 8px; }
.glutea-commit-history .glutea-commit-toolbar:has(.ui.dropdown.active) { position: relative; z-index: 1; }
.glutea-commit-history .glutea-commit-navigation:has(.ui.dropdown.active, [aria-expanded='true']) { position: relative; z-index: 2; }
.glutea-commit-history .commit-table.ui.segment, .glutea-commit-history .glutea-commit-search.ui.segment { backdrop-filter: none; }
.glutea-commit-history .glutea-commit-toolbar > .glutea-commit-heading.ui.header { display: flex; flex: 1 1 220px; flex-wrap: wrap; gap: 12px; width: auto; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; font-size: 24px; font-weight: 600; letter-spacing: -.025em; }
.glutea-commit-history .glutea-commit-toolbar > .glutea-commit-search.ui.segment { flex: 0 1 480px; min-width: 0; width: auto; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.glutea-commit-history .glutea-commit-search .ui.action.input { min-height: 40px; }
.glutea-commit-history .glutea-commit-search .ui.action.input > input { min-width: 0; padding: 8px 12px; font-size: 13px; }
.glutea-commit-history .glutea-commit-search .ui.action.input > .ui.dropdown { min-width: 120px; padding: 8px 10px; font-size: 13px; }
.glutea-commit-history .glutea-commit-search .ui.action.input > button { min-height: 40px; padding: 8px 12px; }
.glutea-commit-history #commits-table, .glutea-commit-history #commits-table > tbody { display: block; width: 100%; }
.glutea-commit-history #commits-table .glutea-commit-date { display: block; border: 0; box-shadow: none; }
.glutea-commit-history #commits-table .glutea-commit-date > td { display: block; padding: 20px 0 10px; font-size: 13px; }
.glutea-commit-history #commits-table .glutea-commit-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; grid-template-areas: 'message hash actions' 'author date date'; align-items: start; gap: 6px 14px; padding: 14px 18px; border: 1px solid var(--glutea-line); border-bottom: 0; background: var(--glutea-card-bg); }
.glutea-commit-history #commits-table .glutea-commit-row > td { display: block; min-width: 0; width: auto; padding: 0; border: 0; border-radius: 0; background: transparent; }
.glutea-commit-history #commits-table .glutea-commit-row > td:is(:first-child, :last-child) { border: 0; border-radius: 0; }
.glutea-commit-history #commits-table .glutea-commit-row:hover { background: var(--color-hover); }
.glutea-commit-history #commits-table .glutea-commit-row:hover > td { background: transparent; }
.glutea-commit-history #commits-table .glutea-commit-date + .glutea-commit-row { border-radius: 12px 12px 0 0; }
.glutea-commit-history #commits-table .glutea-commit-last { border-bottom: 1px solid var(--glutea-line); border-radius: 0 0 12px 12px; }
.glutea-commit-history #commits-table .glutea-commit-date + .glutea-commit-last { border-radius: 12px; }
.glutea-commit-history #commits-table .glutea-commit-row > .message { grid-area: message; font-size: 14px; line-height: 22px; }
.glutea-commit-history #commits-table .message-wrapper, .glutea-commit-history #commits-table .commit-summary { white-space: normal; overflow-wrap: anywhere; }
.glutea-commit-history #commits-table .commit-summary a { font-weight: 500; color: var(--color-text); }
.glutea-commit-history #commits-table .glutea-commit-row > .sha { grid-area: hash; }
.glutea-commit-history #commits-table .sha .commit-id-short { padding: 4px 7px; border: 1px solid var(--glutea-line); border-radius: 6px; background: transparent; font-size: 12px; font-weight: 400; }
.glutea-commit-history #commits-table .glutea-commit-row > .author { grid-area: author; color: var(--glutea-muted); font-size: 12px; }
.glutea-commit-history #commits-table .author .avatar-stack-names { width: auto; max-width: 100%; gap: 8px; }
.glutea-commit-history #commits-table .author img.ui.avatar { width: 20px; height: 20px; border-radius: 6px; }
.glutea-commit-history #commits-table .glutea-commit-row > td:nth-child(4) { grid-area: date; color: var(--glutea-muted); font-size: 12px; }
.glutea-commit-history #commits-table .glutea-commit-row > td:last-child { grid-area: actions; display: flex; justify-content: flex-end; align-items: center; gap: 2px; }
.glutea-commit-history #commits-table .ui.ellipsis-button { display: inline-flex; align-items: center; justify-content: center; min-width: 24px; width: 24px; height: 24px; min-height: 24px; padding: 0; margin: 0 4px; border-radius: 6px; vertical-align: middle; }
.glutea-commit-history #commits-table .commit-body { max-width: 80ch; margin: 0; padding: 8px 0 4px; border-radius: 0; background: transparent; color: var(--color-text-light-1); white-space: pre-wrap; overflow-wrap: anywhere; font-size: 13px; line-height: 1.6; }
@media (max-width: 767.98px) {
  .glutea-commit-history .glutea-commit-navigation { gap: 14px; margin-bottom: 22px; }
  .glutea-commit-history .glutea-commit-toolbar > .glutea-commit-search.ui.segment { flex-basis: 100%; width: 100%; }
  .glutea-commit-history .glutea-commit-search .ui.action.input > .ui.dropdown { min-width: 105px; }
  .glutea-commit-history #commits-table .glutea-commit-row { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: 'message message' 'author date' 'hash actions'; gap: 8px 10px; padding: 14px; }
  .glutea-commit-history #commits-table .glutea-commit-row > .sha { display: block !important; }
  .glutea-commit-history #commits-table .author .avatar-stack-names { white-space: normal; }
}

/* Native settings: a stable section rail, a clear title and readable forms. */
.page-content.settings > .flex-container { display: grid; grid-template-columns: 224px minmax(0, 1fr); gap: 40px; align-items: start; }
.page-content.settings .flex-container-nav { position: sticky; top: 88px; max-height: calc(100dvh - 112px); overflow-y: auto; scrollbar-width: thin; }
.page-content.settings .flex-container-nav .ui.vertical.menu { width: 100%; margin: 0; padding: 6px; border: 0; background: transparent; box-shadow: none; }
.page-content.settings .flex-container-nav .menu > .item { display: flex; align-items: center; min-height: 44px; padding: 10px 14px; border-radius: 9px; font-size: 14px; }
.page-content.settings .flex-container-nav .menu > .item::before { display: none; }
.page-content.settings .flex-container-nav .menu > .header { color: var(--glutea-muted); font-size: 13px; font-weight: 600; margin-bottom: 8px; }
.page-content.settings .flex-container-nav .menu > .active { color: var(--color-text); background: var(--color-active); box-shadow: inset 3px 0 var(--color-primary); font-weight: 600; }
.page-content.settings .flex-container-main { width: 100%; max-width: 912px; }
.glutea-settings-heading, .glutea-catalog-heading { margin: 0 0 28px; font-size: clamp(28px, 3.5vw, 36px); line-height: 1.15; letter-spacing: -.035em; font-weight: 600; overflow-wrap: anywhere; }
.page-content.settings .flex-container-main .ui.attached.header { padding: 22px 28px; margin-top: 28px; border-color: var(--glutea-line); background: var(--glutea-card-bg); font-size: 19px; line-height: 1.4; }
.page-content.settings .flex-container-main .ui.attached.segment { padding: 24px 28px 28px; border-color: var(--glutea-line); background: var(--glutea-card-bg); }
.page-content.settings .ui.attached.segment > p { max-width: 72ch; color: var(--glutea-muted); line-height: 1.65; margin-bottom: 24px; }
.page-content.settings .ui.form .field:has(> label[for] + :is(input:not([type='checkbox'], [type='radio'], [type='hidden']), textarea)) { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 8px 24px; align-items: start; }
.page-content.settings .ui.form .field:has(> label[for] + :is(input:not([type='checkbox'], [type='radio'], [type='hidden']), textarea)) > label { margin: 0; padding-top: 10px; line-height: 1.5; }
.page-content.settings .ui.form .field:has(> label[for] + :is(input:not([type='checkbox'], [type='radio'], [type='hidden']), textarea)) > :not(label) { grid-column: 2; min-width: 0; }
.page-content.settings .ui.form .field .help { max-width: 70ch; }
.page-content.settings .ui.attached.error.header { border-inline-start: 4px solid var(--color-red); color: var(--color-red); background: var(--color-red-badge-bg); }
.page-content.settings .ui.attached.segment:has(> .ui.form .negative.button) { border-color: var(--color-red-badge-bg); }

/* Packages: a searchable catalog; installation instructions lead the detail. */
.glutea-package-catalog > .ui.form { margin-bottom: 24px; }
.glutea-package-catalog .action.input { min-height: 44px; }
.glutea-package-catalog .action.input > input { min-width: 0; }
.glutea-package-catalog .action.input > .dropdown { min-width: 132px; }
.glutea-package-catalog .flex-divided-list { border: 1px solid var(--glutea-line); border-radius: 16px; background: var(--glutea-card-bg); overflow: hidden; }
.glutea-package-catalog .flex-divided-list > .item { padding: 22px 24px; margin: 0; border-color: var(--glutea-line); }
.glutea-package-catalog .item-title { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; font-size: 20px; line-height: 1.4; }
.glutea-package-catalog .item-title > a { color: var(--color-text); font-weight: 600; overflow-wrap: anywhere; }
.glutea-package-catalog .item-title .label-list { margin-inline-start: auto; }
.glutea-package-catalog .item-body { margin-top: 8px; color: var(--glutea-muted); line-height: 1.6; font-size: 13px; }
.page-content.packages .issue-title-header { margin-bottom: 28px; padding-bottom: 24px; border-bottom: 1px solid var(--glutea-line); gap: 10px; }
.page-content.packages .issue-title-header h1 { font-size: clamp(25px, 3vw, 36px); overflow-wrap: anywhere; }
.page-content.packages .packages-content { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 28px; align-items: start; }
.page-content.packages .packages-content-left { min-width: 0; width: auto; }
.page-content.packages .packages-content-right { width: auto; min-width: 0; margin: 0; padding: 24px; position: sticky; top: 88px; border-radius: 16px; overflow-wrap: anywhere; }
.page-content.packages .packages-content-left > .ui.header { padding: 20px 24px; font-size: 19px; }
.page-content.packages .packages-content-left > .ui.segment { padding: 24px; }
.page-content.packages pre { max-width: 100%; overflow-x: auto; font-size: 13px; line-height: 1.8; }

/* Projects: scan the work list, then give each native board column room. */
.glutea-project-list .list-header { margin: 24px 0 16px; gap: 16px; }
.glutea-project-list .milestone-list { border: 1px solid var(--glutea-line); border-radius: 16px; background: var(--glutea-card-bg); }
.glutea-project-list .milestone-list > .item { padding: 24px; margin: 0; border-color: var(--glutea-line); }
.glutea-project-list .milestone-list .list-item-title { font-size: 20px; line-height: 1.4; }
.glutea-project-list .empty-placeholder { padding: 48px 24px; }
.page-content.projects.edit-project > .ui.container { max-width: 900px; }
.page-content.projects.edit-project > .ui.container > .ui.form { padding: 28px; border: 1px solid var(--glutea-line); border-radius: 16px; background: var(--glutea-card-bg); }
.page-content.projects .project-header { width: 100%; max-width: 100%; flex-wrap: wrap; gap: 16px; align-items: center; margin-bottom: 20px; white-space: normal; }
.page-content.projects .project-header h2 { flex: 1 1 240px; min-width: 0; font-size: 30px; line-height: 1.2; margin: 0; overflow-wrap: anywhere; white-space: normal; }
.page-content.projects .project-header .list-header-filters { min-width: 0; flex-wrap: wrap; }
.page-content.projects .project-header > .ui.menu { min-width: 0; max-width: 100%; flex-wrap: wrap; white-space: normal; }
.page-content.projects .project-description { width: 100%; max-width: min(100%, 80ch); min-width: 0; margin-inline: 0; color: var(--glutea-muted); line-height: 1.65; }
.page-content.projects #project-board { gap: 20px; padding: 8px 0 24px; overflow-x: auto; overscroll-behavior-x: contain; }
.page-content.projects #project-board .project-column { flex: 0 0 300px; width: 300px; min-width: 0; padding: 14px; border: 1px solid var(--glutea-line); border-radius: 16px; background: var(--glutea-bg-secondary); }
.page-content.projects .project-column-header { min-height: 40px; gap: 10px; padding: 0 0 10px; }
.page-content.projects .project-column-title-text { font-size: 15px; font-weight: 600; }
.page-content.projects .project-column .issue-card { padding: 16px; border: 1px solid var(--glutea-line); border-radius: 12px; color: var(--color-text); background: var(--color-box-body); box-shadow: none; }

@media (max-width: 900px) {
  .page-content.settings > .flex-container { grid-template-columns: 190px minmax(0, 1fr); gap: 24px; }
  .page-content.settings .ui.form .field:has(> label[for] + :is(input:not([type='checkbox'], [type='radio'], [type='hidden']), textarea)) { grid-template-columns: minmax(0, 1fr); }
  .page-content.settings .ui.form .field:has(> label[for] + :is(input:not([type='checkbox'], [type='radio'], [type='hidden']), textarea)) > :not(label) { grid-column: 1; }
  .page-content.packages .packages-content { grid-template-columns: minmax(0, 1fr); }
  .page-content.packages .packages-content-right { position: static; }
}
@media (max-width: 767.98px) {
  .page-content.settings > .flex-container { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .page-content.settings .flex-container-nav { display: block; position: static; flex-basis: auto; max-height: none; overflow: visible; width: 100%; max-width: 100%; min-width: 0; }
  .page-content.settings .flex-container-nav .ui.vertical.menu { display: flex; flex: 0 1 auto; min-width: 0; max-width: 100%; flex-direction: row; overflow-x: auto; gap: 4px; padding: 4px; border-bottom: 1px solid var(--glutea-line); border-radius: 0; }
  .page-content.settings .flex-container-nav .menu > .item { flex-shrink: 0; white-space: nowrap; margin: 0; }
  .page-content.settings .flex-container-nav .menu > .active { box-shadow: inset 0 -3px var(--color-primary); }
  .page-content.settings .flex-container-main .ui.attached.header { padding: 18px; }
  .page-content.settings .flex-container-main .ui.attached.segment { padding: 20px 18px; }
  .glutea-package-catalog .action.input { flex-wrap: wrap; gap: 8px; }
  .glutea-package-catalog .action.input > input { flex-basis: calc(100% - 56px); border-radius: 11px; }
  .glutea-package-catalog .action.input > .dropdown { order: 1; width: 100%; margin: 0; border-radius: 11px; min-height: 44px; }
  .glutea-package-catalog .item-title .label-list { margin-inline-start: 0; }
  .glutea-package-catalog .flex-divided-list > .item, .glutea-project-list .milestone-list > .item { padding: 20px 18px; }
  .page-content.projects.edit-project > .ui.container > .ui.form { padding: 20px 16px; }
  .page-content.projects #project-board .project-column { flex-basis: min(300px, calc(100vw - 56px)); width: min(300px, calc(100vw - 56px)); }
  .page-content.projects .project-header .ui.menu { flex-wrap: wrap; }
}

/* Generated by scripts/build-native-icons.mjs from theme/native-icon-map.json.
 * Lucide SVG sources and license: custom-root/public/assets/img/lucide/.
 * Map only known interface glyphs; preserve native nodes, accessible names and identities.
 */
.svg.fontawesome-save { --glutea-icon: url("../img/lucide/save.svg"); }
.svg.fontawesome-send { --glutea-icon: url("../img/lucide/send.svg"); }
.svg.gitea-double-chevron-left { --glutea-icon: url("../img/lucide/chevrons-left.svg"); }
.svg.gitea-double-chevron-right { --glutea-icon: url("../img/lucide/chevrons-right.svg"); }
.svg.gitea-eclipse { --glutea-icon: url("../img/lucide/eclipse.svg"); }
.svg.gitea-empty-checkbox { --glutea-icon: url("../img/lucide/square.svg"); }
.svg.gitea-exclamation { --glutea-icon: url("../img/lucide/badge-alert.svg"); }
.svg.gitea-join { --glutea-icon: url("../img/lucide/fold-horizontal.svg"); }
.svg.gitea-lock { --glutea-icon: url("../img/lucide/lock.svg"); }
.svg.gitea-lock-cog { --glutea-icon: url("../img/lucide/lock-keyhole.svg"); }
.svg.gitea-oauth2-application { --glutea-icon: url("../img/lucide/app-window.svg"); }
.svg.gitea-oauth2-grant { --glutea-icon: url("../img/lucide/key-round.svg"); }
.svg.gitea-org { --glutea-icon: url("../img/lucide/building-2.svg"); }
.svg.gitea-running { --glutea-icon: url("../img/lucide/loader-circle.svg"); }
.svg.gitea-split { --glutea-icon: url("../img/lucide/unfold-horizontal.svg"); }
.svg.gitea-unlock { --glutea-icon: url("../img/lucide/lock-open.svg"); }
.svg.gitea-whitespace { --glutea-icon: url("../img/lucide/pilcrow.svg"); }
.svg.material-folder-generic { --glutea-icon: url("../img/lucide/folder.svg"); }
.svg.material-folder-symlink { --glutea-icon: url("../img/lucide/folder-symlink.svg"); }
.svg.material-invert-colors { --glutea-icon: url("../img/lucide/contrast.svg"); }
.svg.material-palette { --glutea-icon: url("../img/lucide/palette.svg"); }
.svg.octicon-accessibility { --glutea-icon: url("../img/lucide/accessibility.svg"); }
.svg.octicon-accessibility-inset { --glutea-icon: url("../img/lucide/accessibility.svg"); }
.svg.octicon-agent { --glutea-icon: url("../img/lucide/bot.svg"); }
.svg.octicon-ai-model { --glutea-icon: url("../img/lucide/brain-circuit.svg"); }
.svg.octicon-alert { --glutea-icon: url("../img/lucide/triangle-alert.svg"); }
.svg.octicon-alert-fill { --glutea-icon: url("../img/lucide/triangle-alert.svg"); }
.svg.octicon-apps { --glutea-icon: url("../img/lucide/layout-grid.svg"); }
.svg.octicon-archive { --glutea-icon: url("../img/lucide/archive.svg"); }
.svg.octicon-arrow-both { --glutea-icon: url("../img/lucide/move-horizontal.svg"); }
.svg.octicon-arrow-down { --glutea-icon: url("../img/lucide/arrow-down.svg"); }
.svg.octicon-arrow-down-left { --glutea-icon: url("../img/lucide/arrow-down-left.svg"); }
.svg.octicon-arrow-down-right { --glutea-icon: url("../img/lucide/arrow-down-right.svg"); }
.svg.octicon-arrow-left { --glutea-icon: url("../img/lucide/arrow-left.svg"); }
.svg.octicon-arrow-right { --glutea-icon: url("../img/lucide/arrow-right.svg"); }
.svg.octicon-arrow-switch { --glutea-icon: url("../img/lucide/arrow-left-right.svg"); }
.svg.octicon-arrow-up { --glutea-icon: url("../img/lucide/arrow-up.svg"); }
.svg.octicon-arrow-up-left { --glutea-icon: url("../img/lucide/arrow-up-left.svg"); }
.svg.octicon-arrow-up-right { --glutea-icon: url("../img/lucide/arrow-up-right.svg"); }
.svg.octicon-beaker { --glutea-icon: url("../img/lucide/beaker.svg"); }
.svg.octicon-bell { --glutea-icon: url("../img/lucide/bell.svg"); }
.svg.octicon-bell-fill { --glutea-icon: url("../img/lucide/bell.svg"); }
.svg.octicon-bell-slash { --glutea-icon: url("../img/lucide/bell-off.svg"); }
.svg.octicon-blocked { --glutea-icon: url("../img/lucide/ban.svg"); }
.svg.octicon-bold { --glutea-icon: url("../img/lucide/bold.svg"); }
.svg.octicon-book { --glutea-icon: url("../img/lucide/book-open.svg"); }
.svg.octicon-book-locked { --glutea-icon: url("../img/lucide/book-lock.svg"); }
.svg.octicon-book-marked { --glutea-icon: url("../img/lucide/book-marked.svg"); }
.svg.octicon-bookmark { --glutea-icon: url("../img/lucide/bookmark.svg"); }
.svg.octicon-bookmark-filled { --glutea-icon: url("../img/lucide/bookmark.svg"); }
.svg.octicon-bookmark-slash { --glutea-icon: url("../img/lucide/bookmark-x.svg"); }
.svg.octicon-bookmark-slash-fill { --glutea-icon: url("../img/lucide/bookmark-x.svg"); }
.svg.octicon-boolean-off { --glutea-icon: url("../img/lucide/toggle-left.svg"); }
.svg.octicon-boolean-on { --glutea-icon: url("../img/lucide/toggle-right.svg"); }
.svg.octicon-briefcase { --glutea-icon: url("../img/lucide/briefcase.svg"); }
.svg.octicon-broadcast { --glutea-icon: url("../img/lucide/radio.svg"); }
.svg.octicon-browser { --glutea-icon: url("../img/lucide/panels-top-left.svg"); }
.svg.octicon-bug { --glutea-icon: url("../img/lucide/bug.svg"); }
.svg.octicon-cache { --glutea-icon: url("../img/lucide/database.svg"); }
.svg.octicon-calendar { --glutea-icon: url("../img/lucide/calendar.svg"); }
.svg.octicon-check { --glutea-icon: url("../img/lucide/check.svg"); }
.svg.octicon-check-circle { --glutea-icon: url("../img/lucide/circle-check.svg"); }
.svg.octicon-check-circle-fill { --glutea-icon: url("../img/lucide/circle-check.svg"); }
.svg.octicon-checkbox { --glutea-icon: url("../img/lucide/square-check.svg"); }
.svg.octicon-checkbox-fill { --glutea-icon: url("../img/lucide/square-check.svg"); }
.svg.octicon-checklist { --glutea-icon: url("../img/lucide/list-checks.svg"); }
.svg.octicon-chevron-down { --glutea-icon: url("../img/lucide/chevron-down.svg"); }
.svg.octicon-chevron-left { --glutea-icon: url("../img/lucide/chevron-left.svg"); }
.svg.octicon-chevron-right { --glutea-icon: url("../img/lucide/chevron-right.svg"); }
.svg.octicon-chevron-up { --glutea-icon: url("../img/lucide/chevron-up.svg"); }
.svg.octicon-circle { --glutea-icon: url("../img/lucide/circle.svg"); }
.svg.octicon-circle-slash { --glutea-icon: url("../img/lucide/circle-slash.svg"); }
.svg.octicon-clock { --glutea-icon: url("../img/lucide/clock.svg"); }
.svg.octicon-clock-fill { --glutea-icon: url("../img/lucide/clock.svg"); }
.svg.octicon-cloud { --glutea-icon: url("../img/lucide/cloud.svg"); }
.svg.octicon-cloud-offline { --glutea-icon: url("../img/lucide/cloud-off.svg"); }
.svg.octicon-code { --glutea-icon: url("../img/lucide/code.svg"); }
.svg.octicon-code-of-conduct { --glutea-icon: url("../img/lucide/handshake.svg"); }
.svg.octicon-code-review { --glutea-icon: url("../img/lucide/file-code.svg"); }
.svg.octicon-code-square { --glutea-icon: url("../img/lucide/square-code.svg"); }
.svg.octicon-codescan { --glutea-icon: url("../img/lucide/scan-line.svg"); }
.svg.octicon-codescan-checkmark { --glutea-icon: url("../img/lucide/scan-line.svg"); }
.svg.octicon-codespaces { --glutea-icon: url("../img/lucide/computer.svg"); }
.svg.octicon-columns { --glutea-icon: url("../img/lucide/columns-2.svg"); }
.svg.octicon-command-palette { --glutea-icon: url("../img/lucide/command.svg"); }
.svg.octicon-comment { --glutea-icon: url("../img/lucide/message-square.svg"); }
.svg.octicon-comment-ai { --glutea-icon: url("../img/lucide/message-square-dashed.svg"); }
.svg.octicon-comment-discussion { --glutea-icon: url("../img/lucide/messages-square.svg"); }
.svg.octicon-comment-locked { --glutea-icon: url("../img/lucide/message-square-lock.svg"); }
.svg.octicon-compose { --glutea-icon: url("../img/lucide/square-pen.svg"); }
.svg.octicon-container { --glutea-icon: url("../img/lucide/container.svg"); }
.svg.octicon-copy { --glutea-icon: url("../img/lucide/copy.svg"); }
.svg.octicon-cpu { --glutea-icon: url("../img/lucide/cpu.svg"); }
.svg.octicon-credit-card { --glutea-icon: url("../img/lucide/credit-card.svg"); }
.svg.octicon-cross-reference { --glutea-icon: url("../img/lucide/message-square-share.svg"); }
.svg.octicon-crosshairs { --glutea-icon: url("../img/lucide/crosshair.svg"); }
.svg.octicon-danger { --glutea-icon: url("../img/lucide/octagon-alert.svg"); }
.svg.octicon-dash { --glutea-icon: url("../img/lucide/minus.svg"); }
.svg.octicon-database { --glutea-icon: url("../img/lucide/database.svg"); }
.svg.octicon-desktop-download { --glutea-icon: url("../img/lucide/monitor-down.svg"); }
.svg.octicon-device-camera { --glutea-icon: url("../img/lucide/camera.svg"); }
.svg.octicon-device-camera-video { --glutea-icon: url("../img/lucide/video.svg"); }
.svg.octicon-device-desktop { --glutea-icon: url("../img/lucide/monitor.svg"); }
.svg.octicon-device-mobile { --glutea-icon: url("../img/lucide/smartphone.svg"); }
.svg.octicon-devices { --glutea-icon: url("../img/lucide/monitor-smartphone.svg"); }
.svg.octicon-diamond { --glutea-icon: url("../img/lucide/diamond.svg"); }
.svg.octicon-dice { --glutea-icon: url("../img/lucide/dices.svg"); }
.svg.octicon-diff { --glutea-icon: url("../img/lucide/diff.svg"); }
.svg.octicon-diff-added { --glutea-icon: url("../img/lucide/plus.svg"); }
.svg.octicon-diff-ignored { --glutea-icon: url("../img/lucide/file-x.svg"); }
.svg.octicon-diff-modified { --glutea-icon: url("../img/lucide/file-pen.svg"); }
.svg.octicon-diff-removed { --glutea-icon: url("../img/lucide/minus.svg"); }
.svg.octicon-diff-renamed { --glutea-icon: url("../img/lucide/file-symlink.svg"); }
.svg.octicon-discussion-closed { --glutea-icon: url("../img/lucide/message-square-x.svg"); }
.svg.octicon-discussion-duplicate { --glutea-icon: url("../img/lucide/copy.svg"); }
.svg.octicon-discussion-outdated { --glutea-icon: url("../img/lucide/message-square-dashed.svg"); }
.svg.octicon-dot { --glutea-icon: url("../img/lucide/circle-small.svg"); }
.svg.octicon-dot-fill { --glutea-icon: url("../img/lucide/circle-small.svg"); }
.svg.octicon-download { --glutea-icon: url("../img/lucide/download.svg"); }
.svg.octicon-duplicate { --glutea-icon: url("../img/lucide/copy.svg"); }
.svg.octicon-ellipsis { --glutea-icon: url("../img/lucide/ellipsis.svg"); }
.svg.octicon-exclamation { --glutea-icon: url("../img/lucide/badge-alert.svg"); }
.svg.octicon-eye { --glutea-icon: url("../img/lucide/eye.svg"); }
.svg.octicon-eye-closed { --glutea-icon: url("../img/lucide/eye-off.svg"); }
.svg.octicon-feed-discussion { --glutea-icon: url("../img/lucide/message-square.svg"); }
.svg.octicon-feed-forked { --glutea-icon: url("../img/lucide/git-fork.svg"); }
.svg.octicon-feed-heart { --glutea-icon: url("../img/lucide/heart.svg"); }
.svg.octicon-feed-issue-closed { --glutea-icon: url("../img/lucide/circle-check.svg"); }
.svg.octicon-feed-issue-draft { --glutea-icon: url("../img/lucide/circle-dashed.svg"); }
.svg.octicon-feed-issue-open { --glutea-icon: url("../img/lucide/circle-dot.svg"); }
.svg.octicon-feed-issue-reopen { --glutea-icon: url("../img/lucide/circle-dot.svg"); }
.svg.octicon-feed-merged { --glutea-icon: url("../img/lucide/git-merge.svg"); }
.svg.octicon-feed-person { --glutea-icon: url("../img/lucide/user.svg"); }
.svg.octicon-feed-plus { --glutea-icon: url("../img/lucide/plus.svg"); }
.svg.octicon-feed-public { --glutea-icon: url("../img/lucide/globe.svg"); }
.svg.octicon-feed-pull-request-closed { --glutea-icon: url("../img/lucide/git-pull-request-closed.svg"); }
.svg.octicon-feed-pull-request-draft { --glutea-icon: url("../img/lucide/git-pull-request-draft.svg"); }
.svg.octicon-feed-pull-request-open { --glutea-icon: url("../img/lucide/git-pull-request.svg"); }
.svg.octicon-feed-repo { --glutea-icon: url("../img/lucide/book-marked.svg"); }
.svg.octicon-feed-rocket { --glutea-icon: url("../img/lucide/rocket.svg"); }
.svg.octicon-feed-star { --glutea-icon: url("../img/lucide/star.svg"); }
.svg.octicon-feed-tag { --glutea-icon: url("../img/lucide/tag.svg"); }
.svg.octicon-feed-trophy { --glutea-icon: url("../img/lucide/trophy.svg"); }
.svg.octicon-file { --glutea-icon: url("../img/lucide/file.svg"); }
.svg.octicon-file-added { --glutea-icon: url("../img/lucide/file-plus.svg"); }
.svg.octicon-file-badge { --glutea-icon: url("../img/lucide/badge.svg"); }
.svg.octicon-file-binary { --glutea-icon: url("../img/lucide/binary.svg"); }
.svg.octicon-file-check { --glutea-icon: url("../img/lucide/file-check.svg"); }
.svg.octicon-file-code { --glutea-icon: url("../img/lucide/file-code.svg"); }
.svg.octicon-file-diff { --glutea-icon: url("../img/lucide/file-diff.svg"); }
.svg.octicon-file-directory { --glutea-icon: url("../img/lucide/folder.svg"); }
.svg.octicon-file-directory-fill { --glutea-icon: url("../img/lucide/folder.svg"); }
.svg.octicon-file-directory-open-fill { --glutea-icon: url("../img/lucide/folder-open.svg"); }
.svg.octicon-file-directory-symlink { --glutea-icon: url("../img/lucide/folder-symlink.svg"); }
.svg.octicon-file-media { --glutea-icon: url("../img/lucide/file-image.svg"); }
.svg.octicon-file-moved { --glutea-icon: url("../img/lucide/file-symlink.svg"); }
.svg.octicon-file-removed { --glutea-icon: url("../img/lucide/file-minus.svg"); }
.svg.octicon-file-submodule { --glutea-icon: url("../img/lucide/folder-git.svg"); }
.svg.octicon-file-symlink-file { --glutea-icon: url("../img/lucide/file-symlink.svg"); }
.svg.octicon-file-zip { --glutea-icon: url("../img/lucide/file-archive.svg"); }
.svg.octicon-filter { --glutea-icon: url("../img/lucide/sliders-horizontal.svg"); }
.svg.octicon-filter-remove { --glutea-icon: url("../img/lucide/list-filter.svg"); }
.svg.octicon-fiscal-host { --glutea-icon: url("../img/lucide/landmark.svg"); }
.svg.octicon-flag { --glutea-icon: url("../img/lucide/flag.svg"); }
.svg.octicon-flame { --glutea-icon: url("../img/lucide/flame.svg"); }
.svg.octicon-flowchart { --glutea-icon: url("../img/lucide/workflow.svg"); }
.svg.octicon-focus-center { --glutea-icon: url("../img/lucide/focus.svg"); }
.svg.octicon-fold { --glutea-icon: url("../img/lucide/fold-vertical.svg"); }
.svg.octicon-fold-down { --glutea-icon: url("../img/lucide/chevrons-down.svg"); }
.svg.octicon-fold-up { --glutea-icon: url("../img/lucide/chevrons-up.svg"); }
.svg.octicon-gear { --glutea-icon: url("../img/lucide/settings.svg"); }
.svg.octicon-gift { --glutea-icon: url("../img/lucide/gift.svg"); }
.svg.octicon-git-branch { --glutea-icon: url("../img/lucide/git-branch.svg"); }
.svg.octicon-git-branch-check { --glutea-icon: url("../img/lucide/git-branch.svg"); }
.svg.octicon-git-commit { --glutea-icon: url("../img/lucide/git-commit-horizontal.svg"); }
.svg.octicon-git-compare { --glutea-icon: url("../img/lucide/git-compare.svg"); }
.svg.octicon-git-merge { --glutea-icon: url("../img/lucide/git-merge.svg"); }
.svg.octicon-git-merge-queue { --glutea-icon: url("../img/lucide/git-merge.svg"); }
.svg.octicon-git-pull-request { --glutea-icon: url("../img/lucide/git-pull-request.svg"); }
.svg.octicon-git-pull-request-closed { --glutea-icon: url("../img/lucide/git-pull-request-closed.svg"); }
.svg.octicon-git-pull-request-draft { --glutea-icon: url("../img/lucide/git-pull-request-draft.svg"); }
.svg.octicon-git-pull-request-locked { --glutea-icon: url("../img/lucide/git-pull-request.svg"); }
.svg.octicon-globe { --glutea-icon: url("../img/lucide/globe.svg"); }
.svg.octicon-goal { --glutea-icon: url("../img/lucide/target.svg"); }
.svg.octicon-grabber { --glutea-icon: url("../img/lucide/grip-vertical.svg"); }
.svg.octicon-graph { --glutea-icon: url("../img/lucide/chart-no-axes-column.svg"); }
.svg.octicon-graph-bar-horizontal { --glutea-icon: url("../img/lucide/chart-bar.svg"); }
.svg.octicon-graph-bar-vertical { --glutea-icon: url("../img/lucide/chart-column.svg"); }
.svg.octicon-hash { --glutea-icon: url("../img/lucide/hash.svg"); }
.svg.octicon-heading { --glutea-icon: url("../img/lucide/heading.svg"); }
.svg.octicon-heart { --glutea-icon: url("../img/lucide/heart.svg"); }
.svg.octicon-heart-fill { --glutea-icon: url("../img/lucide/heart.svg"); }
.svg.octicon-history { --glutea-icon: url("../img/lucide/history.svg"); }
.svg.octicon-home { --glutea-icon: url("../img/lucide/house.svg"); }
.svg.octicon-home-fill { --glutea-icon: url("../img/lucide/house.svg"); }
.svg.octicon-horizontal-rule { --glutea-icon: url("../img/lucide/minus.svg"); }
.svg.octicon-hourglass { --glutea-icon: url("../img/lucide/hourglass.svg"); }
.svg.octicon-id-badge { --glutea-icon: url("../img/lucide/contact.svg"); }
.svg.octicon-image { --glutea-icon: url("../img/lucide/image.svg"); }
.svg.octicon-inbox { --glutea-icon: url("../img/lucide/inbox.svg"); }
.svg.octicon-inbox-fill { --glutea-icon: url("../img/lucide/inbox.svg"); }
.svg.octicon-infinity { --glutea-icon: url("../img/lucide/infinity.svg"); }
.svg.octicon-info { --glutea-icon: url("../img/lucide/info.svg"); }
.svg.octicon-issue-closed { --glutea-icon: url("../img/lucide/circle-check.svg"); }
.svg.octicon-issue-draft { --glutea-icon: url("../img/lucide/circle-dashed.svg"); }
.svg.octicon-issue-locked { --glutea-icon: url("../img/lucide/circle-dot.svg"); }
.svg.octicon-issue-opened { --glutea-icon: url("../img/lucide/circle-dot.svg"); }
.svg.octicon-issue-reopened { --glutea-icon: url("../img/lucide/circle-dot.svg"); }
.svg.octicon-issue-tracked-by { --glutea-icon: url("../img/lucide/list-check.svg"); }
.svg.octicon-issue-tracks { --glutea-icon: url("../img/lucide/list-tree.svg"); }
.svg.octicon-italic { --glutea-icon: url("../img/lucide/italic.svg"); }
.svg.octicon-iterations { --glutea-icon: url("../img/lucide/repeat-2.svg"); }
.svg.octicon-kebab-horizontal { --glutea-icon: url("../img/lucide/ellipsis.svg"); }
.svg.octicon-key { --glutea-icon: url("../img/lucide/key.svg"); }
.svg.octicon-key-asterisk { --glutea-icon: url("../img/lucide/key-round.svg"); }
.svg.octicon-law { --glutea-icon: url("../img/lucide/scale.svg"); }
.svg.octicon-light-bulb { --glutea-icon: url("../img/lucide/lightbulb.svg"); }
.svg.octicon-link { --glutea-icon: url("../img/lucide/link.svg"); }
.svg.octicon-link-external { --glutea-icon: url("../img/lucide/external-link.svg"); }
.svg.octicon-list-ordered { --glutea-icon: url("../img/lucide/list-ordered.svg"); }
.svg.octicon-list-unordered { --glutea-icon: url("../img/lucide/list.svg"); }
.svg.octicon-location { --glutea-icon: url("../img/lucide/map-pin.svg"); }
.svg.octicon-lock { --glutea-icon: url("../img/lucide/lock.svg"); }
.svg.octicon-log { --glutea-icon: url("../img/lucide/scroll-text.svg"); }
.svg.octicon-loop { --glutea-icon: url("../img/lucide/repeat.svg"); }
.svg.octicon-mail { --glutea-icon: url("../img/lucide/mail.svg"); }
.svg.octicon-maximize { --glutea-icon: url("../img/lucide/maximize.svg"); }
.svg.octicon-megaphone { --glutea-icon: url("../img/lucide/megaphone.svg"); }
.svg.octicon-mention { --glutea-icon: url("../img/lucide/at-sign.svg"); }
.svg.octicon-meter { --glutea-icon: url("../img/lucide/gauge.svg"); }
.svg.octicon-milestone { --glutea-icon: url("../img/lucide/milestone.svg"); }
.svg.octicon-minimize { --glutea-icon: url("../img/lucide/minimize.svg"); }
.svg.octicon-mirror { --glutea-icon: url("../img/lucide/columns-2.svg"); }
.svg.octicon-moon { --glutea-icon: url("../img/lucide/moon.svg"); }
.svg.octicon-mortar-board { --glutea-icon: url("../img/lucide/graduation-cap.svg"); }
.svg.octicon-move-to-bottom { --glutea-icon: url("../img/lucide/arrow-down-to-line.svg"); }
.svg.octicon-move-to-end { --glutea-icon: url("../img/lucide/arrow-right-to-line.svg"); }
.svg.octicon-move-to-start { --glutea-icon: url("../img/lucide/arrow-left-to-line.svg"); }
.svg.octicon-move-to-top { --glutea-icon: url("../img/lucide/arrow-up-to-line.svg"); }
.svg.octicon-multi-select { --glutea-icon: url("../img/lucide/list-checks.svg"); }
.svg.octicon-mute { --glutea-icon: url("../img/lucide/volume-x.svg"); }
.svg.octicon-no-entry { --glutea-icon: url("../img/lucide/circle-minus.svg"); }
.svg.octicon-node { --glutea-icon: url("../img/lucide/workflow.svg"); }
.svg.octicon-north-star { --glutea-icon: url("../img/lucide/sparkles.svg"); }
.svg.octicon-note { --glutea-icon: url("../img/lucide/sticky-note.svg"); }
.svg.octicon-number { --glutea-icon: url("../img/lucide/hash.svg"); }
.svg.octicon-organization { --glutea-icon: url("../img/lucide/building-2.svg"); }
.svg.octicon-package { --glutea-icon: url("../img/lucide/package.svg"); }
.svg.octicon-package-dependencies { --glutea-icon: url("../img/lucide/package-minus.svg"); }
.svg.octicon-package-dependents { --glutea-icon: url("../img/lucide/package-plus.svg"); }
.svg.octicon-paintbrush { --glutea-icon: url("../img/lucide/paintbrush.svg"); }
.svg.octicon-paper-airplane { --glutea-icon: url("../img/lucide/send.svg"); }
.svg.octicon-paperclip { --glutea-icon: url("../img/lucide/paperclip.svg"); }
.svg.octicon-passkey-fill { --glutea-icon: url("../img/lucide/key-round.svg"); }
.svg.octicon-paste { --glutea-icon: url("../img/lucide/clipboard-paste.svg"); }
.svg.octicon-pause { --glutea-icon: url("../img/lucide/pause.svg"); }
.svg.octicon-pencil { --glutea-icon: url("../img/lucide/pencil.svg"); }
.svg.octicon-pencil-ai { --glutea-icon: url("../img/lucide/pencil-line.svg"); }
.svg.octicon-people { --glutea-icon: url("../img/lucide/users.svg"); }
.svg.octicon-person { --glutea-icon: url("../img/lucide/user.svg"); }
.svg.octicon-person-add { --glutea-icon: url("../img/lucide/user-plus.svg"); }
.svg.octicon-person-fill { --glutea-icon: url("../img/lucide/user.svg"); }
.svg.octicon-pin { --glutea-icon: url("../img/lucide/pin.svg"); }
.svg.octicon-pin-slash { --glutea-icon: url("../img/lucide/pin-off.svg"); }
.svg.octicon-pivot-column { --glutea-icon: url("../img/lucide/columns-3.svg"); }
.svg.octicon-play { --glutea-icon: url("../img/lucide/play.svg"); }
.svg.octicon-plug { --glutea-icon: url("../img/lucide/plug.svg"); }
.svg.octicon-plus { --glutea-icon: url("../img/lucide/plus.svg"); }
.svg.octicon-plus-circle { --glutea-icon: url("../img/lucide/circle-plus.svg"); }
.svg.octicon-project { --glutea-icon: url("../img/lucide/kanban.svg"); }
.svg.octicon-project-roadmap { --glutea-icon: url("../img/lucide/chart-gantt.svg"); }
.svg.octicon-project-symlink { --glutea-icon: url("../img/lucide/panels-top-left.svg"); }
.svg.octicon-project-template { --glutea-icon: url("../img/lucide/panels-top-left.svg"); }
.svg.octicon-pulse { --glutea-icon: url("../img/lucide/activity.svg"); }
.svg.octicon-question { --glutea-icon: url("../img/lucide/circle-help.svg"); }
.svg.octicon-quote { --glutea-icon: url("../img/lucide/quote.svg"); }
.svg.octicon-read { --glutea-icon: url("../img/lucide/mail-open.svg"); }
.svg.octicon-redo { --glutea-icon: url("../img/lucide/redo.svg"); }
.svg.octicon-rel-file-path { --glutea-icon: url("../img/lucide/folder-tree.svg"); }
.svg.octicon-reply { --glutea-icon: url("../img/lucide/reply.svg"); }
.svg.octicon-repo { --glutea-icon: url("../img/lucide/book-marked.svg"); }
.svg.octicon-repo-clone { --glutea-icon: url("../img/lucide/copy.svg"); }
.svg.octicon-repo-deleted { --glutea-icon: url("../img/lucide/book-x.svg"); }
.svg.octicon-repo-forked { --glutea-icon: url("../img/lucide/git-fork.svg"); }
.svg.octicon-repo-forked-locked { --glutea-icon: url("../img/lucide/git-fork.svg"); }
.svg.octicon-repo-locked { --glutea-icon: url("../img/lucide/book-lock.svg"); }
.svg.octicon-repo-pull { --glutea-icon: url("../img/lucide/download.svg"); }
.svg.octicon-repo-push { --glutea-icon: url("../img/lucide/upload.svg"); }
.svg.octicon-repo-template { --glutea-icon: url("../img/lucide/book-copy.svg"); }
.svg.octicon-report { --glutea-icon: url("../img/lucide/flag.svg"); }
.svg.octicon-rocket { --glutea-icon: url("../img/lucide/rocket.svg"); }
.svg.octicon-rows { --glutea-icon: url("../img/lucide/list.svg"); }
.svg.octicon-rss { --glutea-icon: url("../img/lucide/rss.svg"); }
.svg.octicon-sandbox { --glutea-icon: url("../img/lucide/box.svg"); }
.svg.octicon-screen-full { --glutea-icon: url("../img/lucide/maximize.svg"); }
.svg.octicon-screen-normal { --glutea-icon: url("../img/lucide/minimize.svg"); }
.svg.octicon-search { --glutea-icon: url("../img/lucide/search.svg"); }
.svg.octicon-server { --glutea-icon: url("../img/lucide/server.svg"); }
.svg.octicon-share { --glutea-icon: url("../img/lucide/share.svg"); }
.svg.octicon-share-android { --glutea-icon: url("../img/lucide/share-2.svg"); }
.svg.octicon-shield { --glutea-icon: url("../img/lucide/shield.svg"); }
.svg.octicon-shield-check { --glutea-icon: url("../img/lucide/shield-check.svg"); }
.svg.octicon-shield-lock { --glutea-icon: url("../img/lucide/shield-check.svg"); }
.svg.octicon-shield-slash { --glutea-icon: url("../img/lucide/shield-off.svg"); }
.svg.octicon-shield-x { --glutea-icon: url("../img/lucide/shield-x.svg"); }
.svg.octicon-sidebar { --glutea-icon: url("../img/lucide/panel-left.svg"); }
.svg.octicon-sidebar-collapse { --glutea-icon: url("../img/lucide/panel-left-close.svg"); }
.svg.octicon-sidebar-expand { --glutea-icon: url("../img/lucide/panel-left-open.svg"); }
.svg.octicon-sign-in { --glutea-icon: url("../img/lucide/log-in.svg"); }
.svg.octicon-sign-out { --glutea-icon: url("../img/lucide/log-out.svg"); }
.svg.octicon-single-select { --glutea-icon: url("../img/lucide/list-filter.svg"); }
.svg.octicon-skip { --glutea-icon: url("../img/lucide/skip-forward.svg"); }
.svg.octicon-skip-fill { --glutea-icon: url("../img/lucide/skip-forward.svg"); }
.svg.octicon-sliders { --glutea-icon: url("../img/lucide/sliders-horizontal.svg"); }
.svg.octicon-smiley { --glutea-icon: url("../img/lucide/smile.svg"); }
.svg.octicon-smiley-frown { --glutea-icon: url("../img/lucide/face-slightly-frowning.svg"); }
.svg.octicon-smiley-frustrated { --glutea-icon: url("../img/lucide/face-angry.svg"); }
.svg.octicon-smiley-grin { --glutea-icon: url("../img/lucide/face-grinning.svg"); }
.svg.octicon-smiley-neutral { --glutea-icon: url("../img/lucide/face-neutral.svg"); }
.svg.octicon-sort-asc { --glutea-icon: url("../img/lucide/arrow-up-wide-narrow.svg"); }
.svg.octicon-sort-desc { --glutea-icon: url("../img/lucide/arrow-down-wide-narrow.svg"); }
.svg.octicon-space { --glutea-icon: url("../img/lucide/space.svg"); }
.svg.octicon-spacing-large { --glutea-icon: url("../img/lucide/align-vertical-space-around.svg"); }
.svg.octicon-spacing-medium { --glutea-icon: url("../img/lucide/align-vertical-distribute-center.svg"); }
.svg.octicon-spacing-small { --glutea-icon: url("../img/lucide/align-vertical-justify-center.svg"); }
.svg.octicon-sparkle { --glutea-icon: url("../img/lucide/sparkle.svg"); }
.svg.octicon-sparkle-fill { --glutea-icon: url("../img/lucide/sparkle.svg"); }
.svg.octicon-sparkles-fill { --glutea-icon: url("../img/lucide/sparkles.svg"); }
.svg.octicon-split-view { --glutea-icon: url("../img/lucide/columns-2.svg"); }
.svg.octicon-sponsor-tiers { --glutea-icon: url("../img/lucide/layers.svg"); }
.svg.octicon-square { --glutea-icon: url("../img/lucide/square.svg"); }
.svg.octicon-square-circle { --glutea-icon: url("../img/lucide/shapes.svg"); }
.svg.octicon-square-fill { --glutea-icon: url("../img/lucide/square.svg"); }
.svg.octicon-stack { --glutea-icon: url("../img/lucide/layers.svg"); }
.svg.octicon-stack-add { --glutea-icon: url("../img/lucide/layers-plus.svg"); }
.svg.octicon-stack-check { --glutea-icon: url("../img/lucide/list-checks.svg"); }
.svg.octicon-stack-remove { --glutea-icon: url("../img/lucide/layers-2.svg"); }
.svg.octicon-star { --glutea-icon: url("../img/lucide/star.svg"); }
.svg.octicon-star-fill { --glutea-icon: url("../img/lucide/star.svg"); }
.svg.octicon-stop { --glutea-icon: url("../img/lucide/octagon.svg"); }
.svg.octicon-stopwatch { --glutea-icon: url("../img/lucide/timer.svg"); }
.svg.octicon-strikethrough { --glutea-icon: url("../img/lucide/strikethrough.svg"); }
.svg.octicon-sun { --glutea-icon: url("../img/lucide/sun.svg"); }
.svg.octicon-sync { --glutea-icon: url("../img/lucide/refresh-cw.svg"); }
.svg.octicon-tab { --glutea-icon: url("../img/lucide/panel-top.svg"); }
.svg.octicon-tab-external { --glutea-icon: url("../img/lucide/external-link.svg"); }
.svg.octicon-table { --glutea-icon: url("../img/lucide/table.svg"); }
.svg.octicon-tag { --glutea-icon: url("../img/lucide/tag.svg"); }
.svg.octicon-tasklist { --glutea-icon: url("../img/lucide/list-checks.svg"); }
.svg.octicon-telescope { --glutea-icon: url("../img/lucide/telescope.svg"); }
.svg.octicon-telescope-fill { --glutea-icon: url("../img/lucide/telescope.svg"); }
.svg.octicon-terminal { --glutea-icon: url("../img/lucide/terminal.svg"); }
.svg.octicon-three-bars { --glutea-icon: url("../img/lucide/menu.svg"); }
.svg.octicon-thumbsdown { --glutea-icon: url("../img/lucide/thumbs-down.svg"); }
.svg.octicon-thumbsup { --glutea-icon: url("../img/lucide/thumbs-up.svg"); }
.svg.octicon-tools { --glutea-icon: url("../img/lucide/wrench.svg"); }
.svg.octicon-tracked-by-closed-completed { --glutea-icon: url("../img/lucide/circle-check.svg"); }
.svg.octicon-tracked-by-closed-not-planned { --glutea-icon: url("../img/lucide/circle-slash.svg"); }
.svg.octicon-trash { --glutea-icon: url("../img/lucide/trash-2.svg"); }
.svg.octicon-triangle-down { --glutea-icon: url("../img/lucide/chevron-down.svg"); }
.svg.octicon-triangle-left { --glutea-icon: url("../img/lucide/chevron-left.svg"); }
.svg.octicon-triangle-right { --glutea-icon: url("../img/lucide/chevron-right.svg"); }
.svg.octicon-triangle-up { --glutea-icon: url("../img/lucide/chevron-up.svg"); }
.svg.octicon-trophy { --glutea-icon: url("../img/lucide/trophy.svg"); }
.svg.octicon-typography { --glutea-icon: url("../img/lucide/case-sensitive.svg"); }
.svg.octicon-undo { --glutea-icon: url("../img/lucide/undo.svg"); }
.svg.octicon-unfold { --glutea-icon: url("../img/lucide/unfold-vertical.svg"); }
.svg.octicon-unlink { --glutea-icon: url("../img/lucide/unlink.svg"); }
.svg.octicon-unlock { --glutea-icon: url("../img/lucide/lock-open.svg"); }
.svg.octicon-unmute { --glutea-icon: url("../img/lucide/volume-2.svg"); }
.svg.octicon-unread { --glutea-icon: url("../img/lucide/mail.svg"); }
.svg.octicon-unverified { --glutea-icon: url("../img/lucide/badge-alert.svg"); }
.svg.octicon-unwrap { --glutea-icon: url("../img/lucide/arrow-right-to-line.svg"); }
.svg.octicon-upload { --glutea-icon: url("../img/lucide/upload.svg"); }
.svg.octicon-verified { --glutea-icon: url("../img/lucide/badge-check.svg"); }
.svg.octicon-versions { --glutea-icon: url("../img/lucide/layers.svg"); }
.svg.octicon-video { --glutea-icon: url("../img/lucide/video.svg"); }
.svg.octicon-webhook { --glutea-icon: url("../img/lucide/webhook.svg"); }
.svg.octicon-workflow { --glutea-icon: url("../img/lucide/workflow.svg"); }
.svg.octicon-wrap { --glutea-icon: url("../img/lucide/wrap-text.svg"); }
.svg.octicon-x { --glutea-icon: url("../img/lucide/x.svg"); }
.svg.octicon-x-circle { --glutea-icon: url("../img/lucide/circle-x.svg"); }
.svg.octicon-x-circle-fill { --glutea-icon: url("../img/lucide/circle-x.svg"); }
.svg.octicon-zap { --glutea-icon: url("../img/lucide/zap.svg"); }
.svg.octicon-zoom-in { --glutea-icon: url("../img/lucide/zoom-in.svg"); }
.svg.octicon-zoom-out { --glutea-icon: url("../img/lucide/zoom-out.svg"); }

.svg:where(.fontawesome-save, .fontawesome-send, .gitea-double-chevron-left, .gitea-double-chevron-right, .gitea-eclipse, .gitea-empty-checkbox, .gitea-exclamation, .gitea-join, .gitea-lock, .gitea-lock-cog, .gitea-oauth2-application, .gitea-oauth2-grant, .gitea-org, .gitea-running, .gitea-split, .gitea-unlock, .gitea-whitespace, .material-folder-generic, .material-folder-symlink, .material-invert-colors, .material-palette, .octicon-accessibility, .octicon-accessibility-inset, .octicon-agent, .octicon-ai-model, .octicon-alert, .octicon-alert-fill, .octicon-apps, .octicon-archive, .octicon-arrow-both, .octicon-arrow-down, .octicon-arrow-down-left, .octicon-arrow-down-right, .octicon-arrow-left, .octicon-arrow-right, .octicon-arrow-switch, .octicon-arrow-up, .octicon-arrow-up-left, .octicon-arrow-up-right, .octicon-beaker, .octicon-bell, .octicon-bell-fill, .octicon-bell-slash, .octicon-blocked, .octicon-bold, .octicon-book, .octicon-book-locked, .octicon-book-marked, .octicon-bookmark, .octicon-bookmark-filled, .octicon-bookmark-slash, .octicon-bookmark-slash-fill, .octicon-boolean-off, .octicon-boolean-on, .octicon-briefcase, .octicon-broadcast, .octicon-browser, .octicon-bug, .octicon-cache, .octicon-calendar, .octicon-check, .octicon-check-circle, .octicon-check-circle-fill, .octicon-checkbox, .octicon-checkbox-fill, .octicon-checklist, .octicon-chevron-down, .octicon-chevron-left, .octicon-chevron-right, .octicon-chevron-up, .octicon-circle, .octicon-circle-slash, .octicon-clock, .octicon-clock-fill, .octicon-cloud, .octicon-cloud-offline, .octicon-code, .octicon-code-of-conduct, .octicon-code-review, .octicon-code-square, .octicon-codescan, .octicon-codescan-checkmark, .octicon-codespaces, .octicon-columns, .octicon-command-palette, .octicon-comment, .octicon-comment-ai, .octicon-comment-discussion, .octicon-comment-locked, .octicon-compose, .octicon-container, .octicon-copy, .octicon-cpu, .octicon-credit-card, .octicon-cross-reference, .octicon-crosshairs, .octicon-danger, .octicon-dash, .octicon-database, .octicon-desktop-download, .octicon-device-camera, .octicon-device-camera-video, .octicon-device-desktop, .octicon-device-mobile, .octicon-devices, .octicon-diamond, .octicon-dice, .octicon-diff, .octicon-diff-added, .octicon-diff-ignored, .octicon-diff-modified, .octicon-diff-removed, .octicon-diff-renamed, .octicon-discussion-closed, .octicon-discussion-duplicate, .octicon-discussion-outdated, .octicon-dot, .octicon-dot-fill, .octicon-download, .octicon-duplicate, .octicon-ellipsis, .octicon-exclamation, .octicon-eye, .octicon-eye-closed, .octicon-feed-discussion, .octicon-feed-forked, .octicon-feed-heart, .octicon-feed-issue-closed, .octicon-feed-issue-draft, .octicon-feed-issue-open, .octicon-feed-issue-reopen, .octicon-feed-merged, .octicon-feed-person, .octicon-feed-plus, .octicon-feed-public, .octicon-feed-pull-request-closed, .octicon-feed-pull-request-draft, .octicon-feed-pull-request-open, .octicon-feed-repo, .octicon-feed-rocket, .octicon-feed-star, .octicon-feed-tag, .octicon-feed-trophy, .octicon-file, .octicon-file-added, .octicon-file-badge, .octicon-file-binary, .octicon-file-check, .octicon-file-code, .octicon-file-diff, .octicon-file-directory, .octicon-file-directory-fill, .octicon-file-directory-open-fill, .octicon-file-directory-symlink, .octicon-file-media, .octicon-file-moved, .octicon-file-removed, .octicon-file-submodule, .octicon-file-symlink-file, .octicon-file-zip, .octicon-filter, .octicon-filter-remove, .octicon-fiscal-host, .octicon-flag, .octicon-flame, .octicon-flowchart, .octicon-focus-center, .octicon-fold, .octicon-fold-down, .octicon-fold-up, .octicon-gear, .octicon-gift, .octicon-git-branch, .octicon-git-branch-check, .octicon-git-commit, .octicon-git-compare, .octicon-git-merge, .octicon-git-merge-queue, .octicon-git-pull-request, .octicon-git-pull-request-closed, .octicon-git-pull-request-draft, .octicon-git-pull-request-locked, .octicon-globe, .octicon-goal, .octicon-grabber, .octicon-graph, .octicon-graph-bar-horizontal, .octicon-graph-bar-vertical, .octicon-hash, .octicon-heading, .octicon-heart, .octicon-heart-fill, .octicon-history, .octicon-home, .octicon-home-fill, .octicon-horizontal-rule, .octicon-hourglass, .octicon-id-badge, .octicon-image, .octicon-inbox, .octicon-inbox-fill, .octicon-infinity, .octicon-info, .octicon-issue-closed, .octicon-issue-draft, .octicon-issue-locked, .octicon-issue-opened, .octicon-issue-reopened, .octicon-issue-tracked-by, .octicon-issue-tracks, .octicon-italic, .octicon-iterations, .octicon-kebab-horizontal, .octicon-key, .octicon-key-asterisk, .octicon-law, .octicon-light-bulb, .octicon-link, .octicon-link-external, .octicon-list-ordered, .octicon-list-unordered, .octicon-location, .octicon-lock, .octicon-log, .octicon-loop, .octicon-mail, .octicon-maximize, .octicon-megaphone, .octicon-mention, .octicon-meter, .octicon-milestone, .octicon-minimize, .octicon-mirror, .octicon-moon, .octicon-mortar-board, .octicon-move-to-bottom, .octicon-move-to-end, .octicon-move-to-start, .octicon-move-to-top, .octicon-multi-select, .octicon-mute, .octicon-no-entry, .octicon-node, .octicon-north-star, .octicon-note, .octicon-number, .octicon-organization, .octicon-package, .octicon-package-dependencies, .octicon-package-dependents, .octicon-paintbrush, .octicon-paper-airplane, .octicon-paperclip, .octicon-passkey-fill, .octicon-paste, .octicon-pause, .octicon-pencil, .octicon-pencil-ai, .octicon-people, .octicon-person, .octicon-person-add, .octicon-person-fill, .octicon-pin, .octicon-pin-slash, .octicon-pivot-column, .octicon-play, .octicon-plug, .octicon-plus, .octicon-plus-circle, .octicon-project, .octicon-project-roadmap, .octicon-project-symlink, .octicon-project-template, .octicon-pulse, .octicon-question, .octicon-quote, .octicon-read, .octicon-redo, .octicon-rel-file-path, .octicon-reply, .octicon-repo, .octicon-repo-clone, .octicon-repo-deleted, .octicon-repo-forked, .octicon-repo-forked-locked, .octicon-repo-locked, .octicon-repo-pull, .octicon-repo-push, .octicon-repo-template, .octicon-report, .octicon-rocket, .octicon-rows, .octicon-rss, .octicon-sandbox, .octicon-screen-full, .octicon-screen-normal, .octicon-search, .octicon-server, .octicon-share, .octicon-share-android, .octicon-shield, .octicon-shield-check, .octicon-shield-lock, .octicon-shield-slash, .octicon-shield-x, .octicon-sidebar, .octicon-sidebar-collapse, .octicon-sidebar-expand, .octicon-sign-in, .octicon-sign-out, .octicon-single-select, .octicon-skip, .octicon-skip-fill, .octicon-sliders, .octicon-smiley, .octicon-smiley-frown, .octicon-smiley-frustrated, .octicon-smiley-grin, .octicon-smiley-neutral, .octicon-sort-asc, .octicon-sort-desc, .octicon-space, .octicon-spacing-large, .octicon-spacing-medium, .octicon-spacing-small, .octicon-sparkle, .octicon-sparkle-fill, .octicon-sparkles-fill, .octicon-split-view, .octicon-sponsor-tiers, .octicon-square, .octicon-square-circle, .octicon-square-fill, .octicon-stack, .octicon-stack-add, .octicon-stack-check, .octicon-stack-remove, .octicon-star, .octicon-star-fill, .octicon-stop, .octicon-stopwatch, .octicon-strikethrough, .octicon-sun, .octicon-sync, .octicon-tab, .octicon-tab-external, .octicon-table, .octicon-tag, .octicon-tasklist, .octicon-telescope, .octicon-telescope-fill, .octicon-terminal, .octicon-three-bars, .octicon-thumbsdown, .octicon-thumbsup, .octicon-tools, .octicon-tracked-by-closed-completed, .octicon-tracked-by-closed-not-planned, .octicon-trash, .octicon-triangle-down, .octicon-triangle-left, .octicon-triangle-right, .octicon-triangle-up, .octicon-trophy, .octicon-typography, .octicon-undo, .octicon-unfold, .octicon-unlink, .octicon-unlock, .octicon-unmute, .octicon-unread, .octicon-unverified, .octicon-unwrap, .octicon-upload, .octicon-verified, .octicon-versions, .octicon-video, .octicon-webhook, .octicon-workflow, .octicon-wrap, .octicon-x, .octicon-x-circle, .octicon-x-circle-fill, .octicon-zap, .octicon-zoom-in, .octicon-zoom-out) {
  background: currentColor;
  mask: var(--glutea-icon) center / contain no-repeat;
  -webkit-mask: var(--glutea-icon) center / contain no-repeat;
}
.svg:where(.fontawesome-save, .fontawesome-send, .gitea-double-chevron-left, .gitea-double-chevron-right, .gitea-eclipse, .gitea-empty-checkbox, .gitea-exclamation, .gitea-join, .gitea-lock, .gitea-lock-cog, .gitea-oauth2-application, .gitea-oauth2-grant, .gitea-org, .gitea-running, .gitea-split, .gitea-unlock, .gitea-whitespace, .material-folder-generic, .material-folder-symlink, .material-invert-colors, .material-palette, .octicon-accessibility, .octicon-accessibility-inset, .octicon-agent, .octicon-ai-model, .octicon-alert, .octicon-alert-fill, .octicon-apps, .octicon-archive, .octicon-arrow-both, .octicon-arrow-down, .octicon-arrow-down-left, .octicon-arrow-down-right, .octicon-arrow-left, .octicon-arrow-right, .octicon-arrow-switch, .octicon-arrow-up, .octicon-arrow-up-left, .octicon-arrow-up-right, .octicon-beaker, .octicon-bell, .octicon-bell-fill, .octicon-bell-slash, .octicon-blocked, .octicon-bold, .octicon-book, .octicon-book-locked, .octicon-book-marked, .octicon-bookmark, .octicon-bookmark-filled, .octicon-bookmark-slash, .octicon-bookmark-slash-fill, .octicon-boolean-off, .octicon-boolean-on, .octicon-briefcase, .octicon-broadcast, .octicon-browser, .octicon-bug, .octicon-cache, .octicon-calendar, .octicon-check, .octicon-check-circle, .octicon-check-circle-fill, .octicon-checkbox, .octicon-checkbox-fill, .octicon-checklist, .octicon-chevron-down, .octicon-chevron-left, .octicon-chevron-right, .octicon-chevron-up, .octicon-circle, .octicon-circle-slash, .octicon-clock, .octicon-clock-fill, .octicon-cloud, .octicon-cloud-offline, .octicon-code, .octicon-code-of-conduct, .octicon-code-review, .octicon-code-square, .octicon-codescan, .octicon-codescan-checkmark, .octicon-codespaces, .octicon-columns, .octicon-command-palette, .octicon-comment, .octicon-comment-ai, .octicon-comment-discussion, .octicon-comment-locked, .octicon-compose, .octicon-container, .octicon-copy, .octicon-cpu, .octicon-credit-card, .octicon-cross-reference, .octicon-crosshairs, .octicon-danger, .octicon-dash, .octicon-database, .octicon-desktop-download, .octicon-device-camera, .octicon-device-camera-video, .octicon-device-desktop, .octicon-device-mobile, .octicon-devices, .octicon-diamond, .octicon-dice, .octicon-diff, .octicon-diff-added, .octicon-diff-ignored, .octicon-diff-modified, .octicon-diff-removed, .octicon-diff-renamed, .octicon-discussion-closed, .octicon-discussion-duplicate, .octicon-discussion-outdated, .octicon-dot, .octicon-dot-fill, .octicon-download, .octicon-duplicate, .octicon-ellipsis, .octicon-exclamation, .octicon-eye, .octicon-eye-closed, .octicon-feed-discussion, .octicon-feed-forked, .octicon-feed-heart, .octicon-feed-issue-closed, .octicon-feed-issue-draft, .octicon-feed-issue-open, .octicon-feed-issue-reopen, .octicon-feed-merged, .octicon-feed-person, .octicon-feed-plus, .octicon-feed-public, .octicon-feed-pull-request-closed, .octicon-feed-pull-request-draft, .octicon-feed-pull-request-open, .octicon-feed-repo, .octicon-feed-rocket, .octicon-feed-star, .octicon-feed-tag, .octicon-feed-trophy, .octicon-file, .octicon-file-added, .octicon-file-badge, .octicon-file-binary, .octicon-file-check, .octicon-file-code, .octicon-file-diff, .octicon-file-directory, .octicon-file-directory-fill, .octicon-file-directory-open-fill, .octicon-file-directory-symlink, .octicon-file-media, .octicon-file-moved, .octicon-file-removed, .octicon-file-submodule, .octicon-file-symlink-file, .octicon-file-zip, .octicon-filter, .octicon-filter-remove, .octicon-fiscal-host, .octicon-flag, .octicon-flame, .octicon-flowchart, .octicon-focus-center, .octicon-fold, .octicon-fold-down, .octicon-fold-up, .octicon-gear, .octicon-gift, .octicon-git-branch, .octicon-git-branch-check, .octicon-git-commit, .octicon-git-compare, .octicon-git-merge, .octicon-git-merge-queue, .octicon-git-pull-request, .octicon-git-pull-request-closed, .octicon-git-pull-request-draft, .octicon-git-pull-request-locked, .octicon-globe, .octicon-goal, .octicon-grabber, .octicon-graph, .octicon-graph-bar-horizontal, .octicon-graph-bar-vertical, .octicon-hash, .octicon-heading, .octicon-heart, .octicon-heart-fill, .octicon-history, .octicon-home, .octicon-home-fill, .octicon-horizontal-rule, .octicon-hourglass, .octicon-id-badge, .octicon-image, .octicon-inbox, .octicon-inbox-fill, .octicon-infinity, .octicon-info, .octicon-issue-closed, .octicon-issue-draft, .octicon-issue-locked, .octicon-issue-opened, .octicon-issue-reopened, .octicon-issue-tracked-by, .octicon-issue-tracks, .octicon-italic, .octicon-iterations, .octicon-kebab-horizontal, .octicon-key, .octicon-key-asterisk, .octicon-law, .octicon-light-bulb, .octicon-link, .octicon-link-external, .octicon-list-ordered, .octicon-list-unordered, .octicon-location, .octicon-lock, .octicon-log, .octicon-loop, .octicon-mail, .octicon-maximize, .octicon-megaphone, .octicon-mention, .octicon-meter, .octicon-milestone, .octicon-minimize, .octicon-mirror, .octicon-moon, .octicon-mortar-board, .octicon-move-to-bottom, .octicon-move-to-end, .octicon-move-to-start, .octicon-move-to-top, .octicon-multi-select, .octicon-mute, .octicon-no-entry, .octicon-node, .octicon-north-star, .octicon-note, .octicon-number, .octicon-organization, .octicon-package, .octicon-package-dependencies, .octicon-package-dependents, .octicon-paintbrush, .octicon-paper-airplane, .octicon-paperclip, .octicon-passkey-fill, .octicon-paste, .octicon-pause, .octicon-pencil, .octicon-pencil-ai, .octicon-people, .octicon-person, .octicon-person-add, .octicon-person-fill, .octicon-pin, .octicon-pin-slash, .octicon-pivot-column, .octicon-play, .octicon-plug, .octicon-plus, .octicon-plus-circle, .octicon-project, .octicon-project-roadmap, .octicon-project-symlink, .octicon-project-template, .octicon-pulse, .octicon-question, .octicon-quote, .octicon-read, .octicon-redo, .octicon-rel-file-path, .octicon-reply, .octicon-repo, .octicon-repo-clone, .octicon-repo-deleted, .octicon-repo-forked, .octicon-repo-forked-locked, .octicon-repo-locked, .octicon-repo-pull, .octicon-repo-push, .octicon-repo-template, .octicon-report, .octicon-rocket, .octicon-rows, .octicon-rss, .octicon-sandbox, .octicon-screen-full, .octicon-screen-normal, .octicon-search, .octicon-server, .octicon-share, .octicon-share-android, .octicon-shield, .octicon-shield-check, .octicon-shield-lock, .octicon-shield-slash, .octicon-shield-x, .octicon-sidebar, .octicon-sidebar-collapse, .octicon-sidebar-expand, .octicon-sign-in, .octicon-sign-out, .octicon-single-select, .octicon-skip, .octicon-skip-fill, .octicon-sliders, .octicon-smiley, .octicon-smiley-frown, .octicon-smiley-frustrated, .octicon-smiley-grin, .octicon-smiley-neutral, .octicon-sort-asc, .octicon-sort-desc, .octicon-space, .octicon-spacing-large, .octicon-spacing-medium, .octicon-spacing-small, .octicon-sparkle, .octicon-sparkle-fill, .octicon-sparkles-fill, .octicon-split-view, .octicon-sponsor-tiers, .octicon-square, .octicon-square-circle, .octicon-square-fill, .octicon-stack, .octicon-stack-add, .octicon-stack-check, .octicon-stack-remove, .octicon-star, .octicon-star-fill, .octicon-stop, .octicon-stopwatch, .octicon-strikethrough, .octicon-sun, .octicon-sync, .octicon-tab, .octicon-tab-external, .octicon-table, .octicon-tag, .octicon-tasklist, .octicon-telescope, .octicon-telescope-fill, .octicon-terminal, .octicon-three-bars, .octicon-thumbsdown, .octicon-thumbsup, .octicon-tools, .octicon-tracked-by-closed-completed, .octicon-tracked-by-closed-not-planned, .octicon-trash, .octicon-triangle-down, .octicon-triangle-left, .octicon-triangle-right, .octicon-triangle-up, .octicon-trophy, .octicon-typography, .octicon-undo, .octicon-unfold, .octicon-unlink, .octicon-unlock, .octicon-unmute, .octicon-unread, .octicon-unverified, .octicon-unwrap, .octicon-upload, .octicon-verified, .octicon-versions, .octicon-video, .octicon-webhook, .octicon-workflow, .octicon-wrap, .octicon-x, .octicon-x-circle, .octicon-x-circle-fill, .octicon-zap, .octicon-zoom-in, .octicon-zoom-out) > * { visibility: hidden; }

/* Contextual glyphs retain the native event and toolbar semantics. */
md-header[level="1"] .svg.octicon-heading { --glutea-icon: url("../img/lucide/heading-1.svg"); }
md-header[level="2"] .svg.octicon-heading { --glutea-icon: url("../img/lucide/heading-2.svg"); }
md-header[level="3"] .svg.octicon-heading { --glutea-icon: url("../img/lucide/heading-3.svg"); }
.repository.view.issue .comment-list .timeline-item .badge .svg.octicon-repo-push { --glutea-icon: url("../img/lucide/git-commit-vertical.svg"); }
.repository.view.issue .comment-list .pull-merge-box > .timeline-avatar.tw-text-green > .svg.octicon-git-merge { --glutea-icon: url("../img/lucide/check.svg"); }

/* Lucide heading glyphs contain their level; suppress Gitea's duplicate numeral. */
.combo-markdown-editor md-header[level]::after { content: none; }

}
