.chroma .bp{color:#fabd2f}.chroma .c,.chroma .c1,.chroma .ch,.chroma .cm{color:#777e94}.chroma .cp{color:#8ec07c}.chroma .cpf{color:#649bc4}.chroma .cs{color:#9075cd}.chroma .dl{color:#649bc4}.chroma .gd{color:#fff;background-color:#5f3737}.chroma .ge{color:#ddee30}.chroma .gh{color:#ffaa10}.chroma .gi{color:#fff;background-color:#3a523a}.chroma .go{color:#777e94}.chroma .gp{color:#ebdbb2}.chroma .gr{color:#f43}.chroma .gs{color:#ebdbb2}.chroma .gt{color:#ff7540}.chroma .gu{color:#b8bb26}.chroma .il{color:#649bc4}.chroma .k{color:#ff7540}.chroma .kc{color:#649bc4}.chroma .kd{color:#ff7540}.chroma .kn{color:#ffaa10}.chroma .kp{color:#5f8700}.chroma .kr{color:#ff7540}.chroma .kt{color:#ff7b72}.chroma .m,.chroma .mb,.chroma .mf,.chroma .mh,.chroma .mi,.chroma .mo{color:#649bc4}.chroma .n{color:#c9d1d9}.chroma .na,.chroma .nb{color:#fabd2f}.chroma .nc{color:#ffaa10}.chroma .nd{color:#8ec07c}.chroma .ne{color:#ff7540}.chroma .nf,.chroma .ni{color:#fabd2f}.chroma .nl{color:#ff7540}.chroma .nn{color:#c9d1d9}.chroma .no{color:#649bc4}.chroma .nt{color:#ff7540}.chroma .nv{color:#ebdbb2}.chroma .nx{color:#b6bac5}.chroma .o{color:#ff7540}.chroma .ow{color:#5f8700}.chroma .p{color:#d2d4db}.chroma .s,.chroma .s1,.chroma .s2{color:#b8bb26}.chroma .sa{color:#ffaa10}.chroma .sb{color:#b8bb26}.chroma .sc{color:#ffaa10}.chroma .sd{color:#b8bb26}.chroma .se{color:#ff8540}.chroma .sh{color:#b8bb26}.chroma .si{color:#ffaa10}.chroma .sr{color:#9075cd}.chroma .ss{color:#ff8540}.chroma .sx{color:#ffaa10}.chroma .vc,.chroma .vg,.chroma .vi{color:#649bee}.chroma .w{color:#7f8699}.CodeMirror.cm-s-default .cm-property,.CodeMirror.cm-s-paper .cm-property{color:#a0cc75}.CodeMirror.cm-s-default .cm-header,.CodeMirror.cm-s-paper .cm-header{color:#9daccc}.CodeMirror.cm-s-default .cm-quote,.CodeMirror.cm-s-paper .cm-quote{color:#090}.CodeMirror.cm-s-default .cm-keyword,.CodeMirror.cm-s-paper .cm-keyword{color:#cc8a61}.CodeMirror.cm-s-default .cm-atom,.CodeMirror.cm-s-paper .cm-atom{color:#ef5e77}.CodeMirror.cm-s-default .cm-number,.CodeMirror.cm-s-paper .cm-number{color:#ff5656}.CodeMirror.cm-s-default .cm-def,.CodeMirror.cm-s-paper .cm-def{color:#e4e4e4}.CodeMirror.cm-s-default .cm-variable-2,.CodeMirror.cm-s-paper .cm-variable-2{color:#00bdbf}.CodeMirror.cm-s-default .cm-variable-3,.CodeMirror.cm-s-paper .cm-variable-3{color:#085}.CodeMirror.cm-s-default .cm-comment,.CodeMirror.cm-s-paper .cm-comment{color:#8e9ab3}.CodeMirror.cm-s-default .cm-string,.CodeMirror.cm-s-paper .cm-string{color:#a77272}.CodeMirror.cm-s-default .cm-string-2,.CodeMirror.cm-s-paper .cm-string-2{color:#f50}.CodeMirror.cm-s-default .cm-meta,.CodeMirror.cm-s-paper .cm-meta,.CodeMirror.cm-s-default .cm-qualifier,.CodeMirror.cm-s-paper .cm-qualifier{color:#ffb176}.CodeMirror.cm-s-default .cm-builtin,.CodeMirror.cm-s-paper .cm-builtin{color:#b7c951}.CodeMirror.cm-s-default .cm-bracket,.CodeMirror.cm-s-paper .cm-bracket{color:#997}.CodeMirror.cm-s-default .cm-tag,.CodeMirror.cm-s-paper .cm-tag{color:#f1d273}.CodeMirror.cm-s-default .cm-attribute,.CodeMirror.cm-s-paper .cm-attribute{color:#bfcc70}.CodeMirror.cm-s-default .cm-hr,.CodeMirror.cm-s-paper .cm-hr{color:#999}.CodeMirror.cm-s-default .cm-url,.CodeMirror.cm-s-paper .cm-url{color:#c5cfd0}.CodeMirror.cm-s-default .cm-link,.CodeMirror.cm-s-paper .cm-link{color:#d8c792}.CodeMirror.cm-s-default .cm-error,.CodeMirror.cm-s-paper .cm-error{color:#dbdbeb}.markup [src$="#gh-light-mode-only"],.markup [src$="#light-mode-only"],.markup [href$="#gh-light-mode-only"],.markup [href$="#light-mode-only"]{display:none}.markup [src$="#gh-dark-mode-only"],.markup [src$="#dark-mode-only"],.markup [href$="#gh-dark-mode-only"],.markup [href$="#dark-mode-only"]{display:unset}:root{--steel-900: #10161d;--steel-850: #131a21;--steel-800: #171e26;--steel-750: #1d262f;--steel-700: #242d38;--steel-650: #2b3642;--steel-600: #374351;--steel-550: #445161;--steel-500: #515f70;--steel-450: #5f6e80;--steel-400: #6d7d8f;--steel-350: #7c8c9f;--steel-300: #8c9caf;--steel-250: #9dadc0;--steel-200: #aebed0;--steel-150: #c0cfe0;--steel-100: #d2e0f0;--is-dark-theme: true;--color-primary: #fb923c;--color-primary-contrast: #000;--color-primary-dark-1: #fdba74;--color-primary-dark-2: #fdba74;--color-primary-dark-3: #fed7aa;--color-primary-dark-4: #fed7aa;--color-primary-dark-5: #ffedd5;--color-primary-dark-6: #ffedd5;--color-primary-dark-7: #fff7ed;--color-primary-light-1: #f97316;--color-primary-light-2: #ea580c;--color-primary-light-3: #c2410c;--color-primary-light-4: #9a3412;--color-primary-light-5: #9a3412;--color-primary-light-6: #7c2d12;--color-primary-light-7: #7c2d12;--color-primary-alpha-10: #ea580c19;--color-primary-alpha-20: #ea580c33;--color-primary-alpha-30: #ea580c4b;--color-primary-alpha-40: #ea580c66;--color-primary-alpha-50: #ea580c80;--color-primary-alpha-60: #ea580c99;--color-primary-alpha-70: #ea580cb3;--color-primary-alpha-80: #ea580ccc;--color-primary-alpha-90: #ea580ce1;--color-primary-hover: var(--color-primary-light-1);--color-primary-active: var(--color-primary-light-2);--color-secondary: var(--steel-700);--color-secondary-dark-1: var(--steel-550);--color-secondary-dark-2: var(--steel-500);--color-secondary-dark-3: var(--steel-450);--color-secondary-dark-4: var(--steel-400);--color-secondary-dark-5: var(--steel-350);--color-secondary-dark-6: var(--steel-300);--color-secondary-dark-7: var(--steel-250);--color-secondary-dark-8: var(--steel-200);--color-secondary-dark-9: var(--steel-150);--color-secondary-dark-10: var(--steel-100);--color-secondary-dark-11: var(--steel-100);--color-secondary-dark-12: var(--steel-100);--color-secondary-dark-13: var(--steel-100);--color-secondary-light-1: var(--steel-650);--color-secondary-light-2: var(--steel-700);--color-secondary-light-3: var(--steel-750);--color-secondary-light-4: var(--steel-800);--color-secondary-alpha-10: #2b364219;--color-secondary-alpha-20: #2b364233;--color-secondary-alpha-30: #2b36424b;--color-secondary-alpha-40: #2b364266;--color-secondary-alpha-50: #2b364280;--color-secondary-alpha-60: #2b364299;--color-secondary-alpha-70: #2b3642b3;--color-secondary-alpha-80: #2b3642cc;--color-secondary-alpha-90: #2b3642e1;--color-secondary-hover: var(--color-secondary-light-1);--color-secondary-active: var(--color-secondary-light-2);--color-console-fg: #eeeff2;--color-console-fg-subtle: #959cab;--color-console-bg: #1f212b;--color-console-border: #383c47;--color-console-hover-bg: #ffffff16;--color-console-active-bg: #454a57;--color-console-menu-bg: #383c47;--color-console-menu-border: #5c6374;--color-red: #b91c1c;--color-orange: #ea580c;--color-yellow: #ca8a04;--color-olive: #91a313;--color-green: #15803d;--color-teal: #0d9488;--color-blue: #2563eb;--color-violet: #7c3aed;--color-purple: #9333ea;--color-pink: #db2777;--color-brown: #a47252;--color-grey: var(--steel-500);--color-black: #111827;--color-red-light: #dc2626;--color-orange-light: #f97316;--color-yellow-light: #eab308;--color-olive-light: #839311;--color-green-light: #16a34a;--color-teal-light: #14b8a6;--color-blue-light: #3b82f6;--color-violet-light: #8b5cf6;--color-purple-light: #a855f7;--color-pink-light: #ec4899;--color-brown-light: #94674a;--color-grey-light: var(--steel-300);--color-black-light: #1f2937;--color-red-dark-1: #a71919;--color-orange-dark-1: #d34f0b;--color-yellow-dark-1: #b67c04;--color-olive-dark-1: #839311;--color-green-dark-1: #137337;--color-teal-dark-1: #0c857a;--color-blue-dark-1: #1554e0;--color-violet-dark-1: #6a1feb;--color-purple-dark-1: #8519e7;--color-pink-dark-1: #c7216b;--color-brown-dark-1: #94674a;--color-black-dark-1: #0f1623;--color-red-dark-2: #941616;--color-orange-dark-2: #bb460a;--color-yellow-dark-2: #ca8a04;--color-olive-dark-2: #91a313;--color-green-dark-2: #15803d;--color-teal-dark-2: #0a766d;--color-blue-dark-2: #2563eb;--color-violet-dark-2: #5c14d8;--color-purple-dark-2: #7c3aed;--color-pink-dark-2: #b11d5f;--color-brown-dark-2: #a47252;--color-black-dark-2: #111827;--color-ansi-black: #1d2328;--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: #424851;--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-gold: #b1983b;--color-white: #ffffff;--color-pure-black: #000000;--color-diff-removed-word-bg: #783030;--color-diff-added-word-bg: #255c39;--color-diff-removed-row-bg: #432121;--color-diff-moved-row-bg: #825718;--color-diff-added-row-bg: #1b3625;--color-diff-removed-row-border: #783030;--color-diff-moved-row-border: #a67a1d;--color-diff-added-row-border: #255c39;--color-diff-inactive: var(--steel-650);--color-error-border: #783030;--color-error-bg: #5f2525;--color-error-bg-active: #783030;--color-error-bg-hover: #783030;--color-error-text: #fef2f2;--color-success-border: #1f6e3c;--color-success-bg: #1d462c;--color-success-text: #aef0c2;--color-warning-border: #a67a1d;--color-warning-bg: #644821;--color-warning-text: #fff388;--color-info-border: #2e50b0;--color-info-bg: #2a396b;--color-info-text: var(--steel-100);--color-red-badge: #b91c1c;--color-red-badge-bg: #b91c1c22;--color-red-badge-hover-bg: #b91c1c44;--color-green-badge: #16a34a;--color-green-badge-bg: #16a34a22;--color-green-badge-hover-bg: #16a34a44;--color-yellow-badge: #ca8a04;--color-yellow-badge-bg: #ca8a0422;--color-yellow-badge-hover-bg: #ca8a0444;--color-orange-badge: #ea580c;--color-orange-badge-bg: #ea580c22;--color-orange-badge-hover-bg: #ea580c44;--thin-lightness: .68;--regular-chroma: .19;--color-thin-green: oklch(var(--thin-lightness) var(--regular-chroma) 145deg);--color-thin-red: oklch(var(--thin-lightness) var(--regular-chroma) 27deg);--color-thin-purple: oklch(var(--thin-lightness) var(--regular-chroma) 298deg);--color-thin-orange: oklch(var(--thin-lightness) var(--regular-chroma) 41deg);--thin-lightness-highlight: .75;--color-thin-red-highlight: oklch(var(--thin-lightness-highlight) var(--regular-chroma) 27deg);--bg-lightness: .26;--bg-chroma: .05;--color-danger-bg: oklch(var(--bg-lightness) var(--bg-chroma) 27deg);--color-body: var(--steel-800);--color-box-header: var(--steel-700);--color-box-body: var(--steel-750);--color-box-body-highlight: var(--steel-650);--color-text-dark: #fff;--color-text: var(--steel-100);--color-text-light: var(--steel-150);--color-text-light-1: var(--steel-150);--color-text-light-2: var(--steel-200);--color-text-light-3: var(--steel-200);--color-footer: var(--steel-900);--color-timeline: var(--steel-650);--color-input-text: var(--steel-100);--color-input-background: var(--steel-650);--color-input-toggle-background: var(--steel-650);--color-input-border: var(--steel-550);--color-input-border-hover: var(--steel-450);--color-header-wrapper: var(--steel-850);--color-header-wrapper-transparent: #242d3800;--color-light: #00000028;--color-light-mimic-enabled: rgba(0, 0, 0, calc(40 / 255 * 222 / 255 / var(--opacity-disabled)));--color-light-border: #ffffff28;--color-hover: var(--steel-600);--color-active: var(--steel-650);--color-menu: var(--steel-700);--color-card: var(--steel-700);--fancy-card-bg: var(--steel-650);--fancy-card-border: var(--steel-600);--color-markup-table-row: #ffffff06;--color-markup-code-block: var(--steel-800);--color-markup-code-inline: var(--steel-850);--color-button: var(--steel-600);--color-code-bg: var(--steel-750);--color-shadow: #00000060;--color-secondary-bg: var(--steel-700);--color-text-focus: #fff;--color-expand-button: #3c404d;--color-placeholder-text: var(--color-text-light-3);--color-editor-line-highlight: var(--steel-700);--color-project-board-bg: var(--color-secondary-light-3);--color-project-board-dark-label: var(--color-text-light-3);--color-caret: var(--color-text);--color-reaction-bg: #ffffff12;--color-reaction-active-bg: var(--color-primary-alpha-30);--color-reaction-hover-bg: var(--color-primary-alpha-40);--color-tooltip-text: #ffffff;--color-tooltip-bg: #000000f0;--color-nav-bg: var(--steel-900);--color-nav-hover-bg: var(--steel-600);--color-secondary-nav-bg: var(--color-body);--color-label-text: #fff;--color-label-bg: var(--steel-600);--color-label-hover-bg: var(--steel-550);--color-label-active-bg: var(--steel-500);--color-label-bg-alt: var(--steel-550);--color-accent: var(--color-primary-light-1);--color-small-accent: var(--color-primary-light-5);--color-highlight-fg: var(--color-primary-light-4);--color-highlight-bg: var(--color-primary-alpha-20);--color-overlay-backdrop: #080808c0;--color-selection-bg: var(--steel-100);--color-selection-fg: var(--color-pure-black);--checkerboard-color-1: #474747;--checkerboard-color-2: #313131;--color-indicator-offline: #a1a1aa;--color-indicator-offline-20: #a1a1aa1a;--color-indicator-idle: #16a34a;--color-indicator-idle-20: #16a34a1a;--color-indicator-active: #2185d0;--color-indicator-active-20: #2185d033;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)}i.grey.icon.icon.icon.icon{color:var(--steel-350)!important}.ui.secondary.vertical.menu{border-radius:.28571429rem!important;overflow:hidden}.ui.basic.primary.button.item{background-color:var(--color-active)!important;color:var(--color-text)!important;box-shadow:none!important}.ui.red.label.notification_count,.ui.primary.label,.ui.primary.labels .label{background-color:var(--color-primary-light-3)!important}.ui.labeled.icon.buttons>.button>.icon,.ui.labeled.icon.button>.icon{background-color:var(--color-light)!important}#review-box .review-comments-counter{background-color:var(--color-shadow)!important;color:var(--color-white)!important;margin-left:.5em}.ui.basic.labels .primary.label,.ui.ui.ui.basic.primary.label{color:var(--color-text-dark)!important}.ui.yellow.label.pending-label{color:var(--color-warning-text)!important}strong.attention-important,svg.attention-important{color:var(--color-violet-light)}strong.attention-note,svg.attention-note{color:var(--color-blue-light)}strong.attention-caution,svg.attention-caution{color:var(--color-red-light)}.ui.basic.red.button{background-color:var(--color-red);color:var(--color-white)}.ui.basic.red.button:hover,.ui.basic.red.button:focus{background-color:var(--color-red-dark-1);color:var(--color-white)}.ui.basic.red.button:active{background-color:var(--color-red-dark-2);color:var(--color-white)}

/* ================================================================
   forge.s99.sh — neon-layered
   Generated by modules/forge/theme.nix. Everything above this banner
   is forgejo's own theme-forgejo-dark.css, copied verbatim from the
   pinned package at build time.
   ================================================================ */

@font-face {
  font-family: "Orbitron";
  font-style: normal;
  font-weight: 500;
  /* swap: the page renders in a fallback immediately rather than blanking
     its own text while a local font loads. */
  font-display: swap;
  src: url("/assets/fonts/orbitron-500.woff2") format("woff2");
}
@font-face {
  font-family: "Orbitron";
  font-style: normal;
  font-weight: 700;
  /* swap: the page renders in a fallback immediately rather than blanking
     its own text while a local font loads. */
  font-display: swap;
  src: url("/assets/fonts/orbitron-700.woff2") format("woff2");
}
@font-face {
  font-family: "Chakra Petch";
  font-style: normal;
  font-weight: 400;
  /* swap: the page renders in a fallback immediately rather than blanking
     its own text while a local font loads. */
  font-display: swap;
  src: url("/assets/fonts/chakra-400.woff2") format("woff2");
}
@font-face {
  font-family: "Chakra Petch";
  font-style: normal;
  font-weight: 600;
  /* swap: the page renders in a fallback immediately rather than blanking
     its own text while a local font loads. */
  font-display: swap;
  src: url("/assets/fonts/chakra-600.woff2") format("woff2");
}
@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 400;
  /* swap: the page renders in a fallback immediately rather than blanking
     its own text while a local font loads. */
  font-display: swap;
  src: url("/assets/fonts/jbmono-400.woff2") format("woff2");
}
@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 700;
  /* swap: the page renders in a fallback immediately rather than blanking
     its own text while a local font loads. */
  font-display: swap;
  src: url("/assets/fonts/jbmono-700.woff2") format("woff2");
}


:root {
  /* --- neutral ramp: green-black rather than forgejo's blue steel ---
     Same 17 stops, so every variable derived from them re-colours at
     once. Hue held near 145deg with saturation falling away as it
     lightens, so large surfaces read as "unlit CRT" rather than as a
     green wash. */
  --steel-900: #030604;
  --steel-850: #050907;
  --steel-800: #070d09;
  --steel-750: #0a1310;
  --steel-700: #0e1a15;
  --steel-650: #132218;
  --steel-600: #192c1f;
  --steel-550: #21392a;
  --steel-500: #2b4a35;
  --steel-450: #375d43;
  --steel-400: #457253;
  --steel-350: #558965;
  --steel-300: #68a077;
  --steel-250: #7fb78c;
  --steel-200: #9acea5;
  --steel-150: #b8e3c0;
  --steel-100: #d4f4da;

  /* --- phosphor green ---
     Body text is a pale green-WHITE, not the neon; the neon is spent
     only on links, buttons and accents. All-green text would leave
     nothing for emphasis to be made of, and is tiring over a long diff. */
  --color-primary: #39ff6e;

  /* -dark-N goes toward white, -light-N toward the deep shade. Forgejo's
     naming, not ours — see the header. */
  --color-primary-dark-1: #7dffa1;
  --color-primary-dark-2: #7dffa1;
  --color-primary-dark-3: #a9ffc2;
  --color-primary-dark-4: #a9ffc2;
  --color-primary-dark-5: #d4ffe0;
  --color-primary-dark-6: #d4ffe0;
  --color-primary-dark-7: #ecfff2;
  --color-primary-light-1: #1fe856;
  --color-primary-light-2: #12c644;
  --color-primary-light-3: #0d9e36;
  --color-primary-light-4: #0a7a2a;
  --color-primary-light-5: #0a7a2a;
  --color-primary-light-6: #075a1f;
  --color-primary-light-7: #075a1f;

  /* The alpha set is literal hex in the stock theme (it does not derive
     from --color-primary), so every step has to be restated or the UI
     keeps orange focus rings and selection tints. Base is light-2. */
  --color-primary-alpha-10: #12c64419;
  --color-primary-alpha-20: #12c64433;
  --color-primary-alpha-30: #12c6444b;
  --color-primary-alpha-40: #12c64466;
  --color-primary-alpha-50: #12c64480;
  --color-primary-alpha-60: #12c64499;
  --color-primary-alpha-70: #12c644b3;
  --color-primary-alpha-80: #12c644cc;
  --color-primary-alpha-90: #12c644e1;

  /* Black on neon green. Inherited from the stock theme, restated because
     it is the one thing that makes primary buttons legible and it would
     be easy to "fix" to white by mistake. */
  --color-primary-contrast: #050c07;

  /* The console/terminal surfaces get the full phosphor treatment — this
     is the one place saturated green on black is exactly right. */
  --color-console-bg: #030604;
  --color-console-fg: #9dffb8;
  --color-console-fg-subtle: #4f8a62;
  --color-console-border: #16301f;
  --color-console-hover-bg: #0c1a11;
  --color-console-active-bg: #123020;
  --color-console-menu-bg: #060d08;
  --color-console-menu-border: #16301f;

  /* Accent + caret pick up the neon so focus is obvious against the dark. */
  --color-accent: #7dffa1;
  --color-caret: #39ff6e;

  /* Fonts. --fonts-override is forgejo's own hook: index.css defines
     --fonts-regular as var(--fonts-override, var(--fonts-proportional))
     followed by the generic fallbacks and the emoji stack, so setting it
     swaps the UI face WITHOUT losing either. */
  --fonts-override: "Chakra Petch";
  --fonts-monospace: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace, var(--fonts-emoji);
  --fonts-display: "Orbitron", var(--fonts-regular);

  /* One knob for the whole glow, so it can be dialled down in one place
     (or to `0 0 0 transparent` to switch the effect off entirely). */
  --glow-soft: 0 0 6px rgba(57, 255, 110, .35);
  --glow-hard: 0 0 10px rgba(57, 255, 110, .55);
}

body { font-size-adjust: none; }


/* --- the display face ---
   Headings, repo names in listings, and the site brand. Deliberately NOT
   applied to body copy, table cells or code: the loud face is the
   identity, not the reading experience. */
h1, h2, h3,
.ui.header,
.flex-item-title,
#navbar-logo {
  font-family: var(--fonts-display);
  letter-spacing: .02em;
}

/* Glow belongs on things you look AT, never on things you read THROUGH.
   Putting a text-shadow on body copy or on a diff is what makes these
   themes unusable at 2am, which is the hour this one exists for. */
h1, h2, #navbar-logo {
  text-shadow: var(--glow-soft);
}

a:hover,
.ui.primary.button:hover {
  text-shadow: var(--glow-soft);
}

.ui.primary.button:hover,
.ui.primary.buttons .button:hover {
  box-shadow: var(--glow-hard);
}

/* Focus ring: the neon earns its keep most here — on a near-black page a
   subtle outline is easy to lose. */
:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 1px;
  box-shadow: var(--glow-soft);
}



/* --- syntax highlighting ---
   The stock chroma palette is gruvbox amber and fights a green page. This
   retints it to green/magenta/cyan — cyberpunk, but still THREE hues plus
   neutrals, because monochrome-green code is unparseable at a glance.
   Written against .chroma (server-rendered blobs and diffs). */
.chroma .k, .chroma .kd, .chroma .kn, .chroma .kr, .chroma .kt,
.chroma .nt, .chroma .o, .chroma .ow { color: #ff4fd8; }
.chroma .s, .chroma .s1, .chroma .s2, .chroma .sb, .chroma .sd,
.chroma .sh { color: #5cff8f; }
.chroma .m, .chroma .mb, .chroma .mf, .chroma .mh, .chroma .mi,
.chroma .mo, .chroma .il, .chroma .kc, .chroma .no,
.chroma .dl { color: #3df0ff; }
.chroma .c, .chroma .c1, .chroma .ch, .chroma .cm, .chroma .cs,
.chroma .go, .chroma .w { color: #4f7a5c; font-style: italic; }
.chroma .nf, .chroma .na, .chroma .nb, .chroma .ni,
.chroma .bp { color: #ffc14d; }
.chroma .nc, .chroma .nd, .chroma .cp { color: #9dffb8; }
.chroma .n, .chroma .nn, .chroma .nx, .chroma .nv,
.chroma .p { color: #cfe8d6; }
.chroma .gd { color: #ffd7d7; background-color: #3a1418; }
.chroma .gi { color: #d4ffe0; background-color: #0d2a19; }

/* Diff rows, so added/removed read as green/red against a green page
   without the "everything is green" collapse. */
:root {
  --color-diff-added-row-bg: #0b2416;
  --color-diff-added-word-bg: #14512c;
  --color-diff-added-row-border: #10381f;
  --color-diff-removed-row-bg: #2b1116;
  --color-diff-removed-word-bg: #5c1f28;
  --color-diff-removed-row-border: #3d1a20;
}

/* Honour a reduced-motion / reduced-transparency preference by dropping
   the glow: it is decoration, and it is the part of this theme most
   likely to bother someone. */
@media (prefers-reduced-motion: reduce) {
  :root { --glow-soft: none; --glow-hard: none; }
}
