/* theme-altovar-auto.css - Altovar Console aesthetic for Forgejo.
   Mirrors @altovar-systems/ui (altovar-shared/packages/ui/src/globals.css):
   - Primary brand orange hsl(24 85% 44%) (~#cf5d11)
   - Light surfaces: pure white body + white cards (matches --background, --card)
   - Dark surfaces:  #030712 body + #090e1a card (1:1 with altovar-ui hsl 224/4.1
                    and hsl 222/7 — no extra blue saturation introduced)
   - Forgejo --steel-* and --zinc-* palettes left at defaults to keep cascade
     neutral; only primary + body/card/box surfaces overridden.
   - SHAPES block appended: shadcn-style border-radius (0.375 inputs/buttons,
     0.5 cards), tighter button padding, primary focus glow, system font stack.
   Auto-switches via prefers-color-scheme.
*/
/* Syntax highlighting (light) */
.chroma .bp{color:#999}.chroma .c,.chroma .c1,.chroma .ch{color:#6a737d}.chroma .cm{color:#998}.chroma .cp{color:#109295}.chroma .cpf{color:#4c4dbc}.chroma .cs{color:#999}.chroma .dl{color:#106303}.chroma .gd{color:#000;background-color:#fdd}.chroma .ge{color:#000}.chroma .gh{color:#999}.chroma .gi{color:#000;background-color:#dfd}.chroma .go{color:#888}.chroma .gp{color:#555}.chroma .gr,.chroma .gt{color:#a00}.chroma .gu{color:#aaa}.chroma .il{color:#099}.chroma .k,.chroma .kc,.chroma .kd,.chroma .kn,.chroma .kp,.chroma .kr{color:#d73a49}.chroma .kt{color:#458}.chroma .m,.chroma .mb,.chroma .mf,.chroma .mh,.chroma .mi,.chroma .mo{color:#099}.chroma .na{color:#d73a49}.chroma .nb{color:#005cc5}.chroma .nc{color:#458}.chroma .nd{color:#3c5d5d}.chroma .ne{color:#900}.chroma .nf{color:#005cc5}.chroma .ni{color:#6f42c1}.chroma .nl{color:#900}.chroma .nn{color:#555}.chroma .no{color:teal}.chroma .nt{color:#22863a}.chroma .nv{color:teal}.chroma .nx{color:#24292e}.chroma .o,.chroma .ow{color:#d73a49}.chroma .s,.chroma .s1,.chroma .s2{color:#106303}.chroma .sa{color:#cc7a00}.chroma .sb{color:#106303}.chroma .sc{color:#cc7a00}.chroma .sd{color:#106303}.chroma .se{color:#940}.chroma .sh{color:#106303}.chroma .si{color:#cc7a00}.chroma .sr{color:#4c4dbc}.chroma .ss{color:#940}.chroma .sx{color:#106303}.chroma .vc,.chroma .vg,.chroma .vi{color:teal}.chroma .w{color:#bbb}
/* Light theme variables */
: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;--zinc-50: #fafafa;--zinc-100: #f4f4f5;--zinc-150: #ececee;--zinc-200: #e4e4e7;--zinc-250: #dcdce0;--zinc-300: #d4d4d8;--zinc-350: #babac1;--zinc-400: #a1a1aa;--zinc-450: #898992;--zinc-500: #71717a;--zinc-550: #61616a;--zinc-600: #52525b;--zinc-650: #484850;--zinc-700: #3f3f46;--zinc-750: #333338;--zinc-800: #27272a;--zinc-850: #1f1f23;--zinc-900: #18181b;--color-primary: #cf5d11;--color-primary-contrast: #ffffff;--color-primary-dark-1: #b7510f;--color-primary-dark-2: #9e460d;--color-primary-dark-3: #863b0b;--color-primary-dark-4: #6e3009;--color-primary-dark-5: #562507;--color-primary-dark-6: #3e1a05;--color-primary-dark-7: #260f03;--color-primary-light-1: #e87018;--color-primary-light-2: #f08428;--color-primary-light-3: #f59c4f;--color-primary-light-4: #f9b87a;--color-primary-light-5: #fcd3a8;--color-primary-light-6: #ffead0;--color-primary-light-7: #fff5e8;--color-primary-alpha-10: #cf5d1119;--color-primary-alpha-20: #cf5d1133;--color-primary-alpha-30: #cf5d114b;--color-primary-alpha-40: #cf5d1166;--color-primary-alpha-50: #cf5d1180;--color-primary-alpha-60: #cf5d1199;--color-primary-alpha-70: #cf5d11b3;--color-primary-alpha-80: #cf5d11cc;--color-primary-alpha-90: #cf5d11e1;--color-primary-hover: var(--color-primary-dark-2);--color-primary-active: var(--color-primary-dark-4);--color-secondary: #e5e7eb;--color-secondary-dark-1: var(--zinc-200);--color-secondary-dark-2: var(--zinc-300);--color-secondary-dark-3: var(--zinc-300);--color-secondary-dark-4: var(--zinc-400);--color-secondary-dark-5: var(--zinc-400);--color-secondary-dark-6: var(--zinc-500);--color-secondary-dark-7: var(--zinc-500);--color-secondary-dark-8: var(--zinc-600);--color-secondary-dark-9: var(--zinc-600);--color-secondary-dark-10: var(--zinc-700);--color-secondary-dark-11: var(--zinc-700);--color-secondary-dark-12: var(--zinc-800);--color-secondary-dark-13: var(--zinc-800);--color-secondary-light-1: var(--zinc-200);--color-secondary-light-2: var(--zinc-100);--color-secondary-light-3: var(--zinc-100);--color-secondary-light-4: var(--zinc-50);--color-secondary-alpha-10: #d4d4d819;--color-secondary-alpha-20: #d4d4d833;--color-secondary-alpha-30: #d4d4d84b;--color-secondary-alpha-40: #d4d4d866;--color-secondary-alpha-50: #d4d4d880;--color-secondary-alpha-60: #d4d4d899;--color-secondary-alpha-70: #d4d4d8b3;--color-secondary-alpha-80: #d4d4d8cc;--color-secondary-alpha-90: #d4d4d8e1;--color-secondary-hover: var(--color-secondary-dark-2);--color-secondary-active: var(--color-secondary-dark-4);--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: #dc2626;--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: #4b5563;--color-black: #000000;--color-red-light: #ef4444;--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: #6b7280;--color-black-light: #181818;--color-red-dark-1: #c82020;--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: #000000;--color-red-dark-2: #b21d1d;--color-orange-dark-2: #bb460a;--color-yellow-dark-2: #a26e03;--color-olive-dark-2: #74820f;--color-green-dark-2: #116631;--color-teal-dark-2: #0a766d;--color-blue-dark-2: #124bc7;--color-violet-dark-2: #5c14d8;--color-purple-dark-2: #7715cf;--color-pink-dark-2: #b11d5f;--color-brown-dark-2: #835b42;--color-black-dark-2: #000000;--color-gold: #b1983b;--color-white: #ffffff;--color-diff-removed-word-bg: #fca5a5;--color-diff-added-word-bg: #86efac;--color-diff-removed-row-bg: #fee2e2;--color-diff-moved-row-bg: #fef9c3;--color-diff-added-row-bg: #dcfce7;--color-diff-removed-row-border: #fca5a5;--color-diff-moved-row-border: #fde047;--color-diff-added-row-border: #86efac;--color-diff-inactive: var(--zinc-100);--color-error-border: #fecaca;--color-error-bg: #fee2e2;--color-error-bg-active: #fca5a5;--color-error-bg-hover: #fecaca;--color-error-text: #7f1d1d;--color-success-border: #bbf7d0;--color-success-bg: #dcfce7;--color-success-text: #14532d;--color-warning-border: #fde047;--color-warning-bg: #fef3c7;--color-warning-text: #78350f;--color-info-border: #bae6fd;--color-info-bg: #e0f2fe;--color-info-text: #0c4a6e;--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;--color-git: #f05133;--color-body: #ffffff;--color-box-header: #f9fafb;--color-box-body: #ffffff;--color-box-body-highlight: var(--zinc-200);--color-text-dark: #000;--color-text: var(--zinc-900);--color-text-light: var(--zinc-700);--color-text-light-1: var(--zinc-650);--color-text-light-2: var(--zinc-600);--color-text-light-3: var(--zinc-550);--color-footer: var(--zinc-100);--color-timeline: var(--zinc-200);--color-input-text: var(--zinc-800);--color-input-background: #fff;--color-input-toggle-background: #fff;--color-input-border: #e5e7eb;--color-input-border-hover: #d1d5db;--color-header-wrapper: var(--zinc-50);--color-header-wrapper-transparent: #d2e0f000;--color-light: #ffffffcc;--color-light-mimic-enabled: rgba(0, 0, 0, calc(6 / 255 * 222 / 255 / var(--opacity-disabled)));--color-light-border: #0000001d;--color-hover: #e4e4e4aa;--color-active: #d4d4d8aa;--color-menu: var(--zinc-100);--color-card: #ffffff;--color-markup-table-row: #ffffff06;--color-markup-code-block: var(--zinc-150);--color-markup-code-inline: var(--zinc-200);--color-button: var(--zinc-150);--color-code-bg: var(--zinc-50);--color-shadow: #00000060;--color-secondary-bg: var(--zinc-100);--color-text-focus: #fff;--color-expand-button: var(--zinc-200);--color-placeholder-text: var(--color-text-light-3);--color-editor-line-highlight: var(--zinc-100);--color-project-board-bg: var(--color-secondary-light-2);--color-project-board-dark-label: var(--color-text-light-3);--color-caret: var(--color-text);--color-reaction-bg: #0000000a;--color-reaction-active-bg: var(--color-primary-alpha-20);--color-tooltip-text: #ffffff;--color-tooltip-bg: #000000f0;--color-nav-bg: var(--zinc-100);--color-nav-hover-bg: var(--zinc-300);--color-nav-text: var(--color-text);--color-secondary-nav-bg: var(--color-body);--color-label-text: var(--color-text);--color-label-bg: #cacaca5b;--color-label-hover-bg: #cacacaa0;--color-label-active-bg: #cacacaff;--color-label-bg-alt: #cacacaff;--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-light-6);--color-overlay-backdrop: #080808c0;accent-color:var(--color-accent);accent-color:var(--color-accent);color-scheme:light;}
/* Dark theme (prefers-color-scheme) */
@media (prefers-color-scheme: dark){
.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}
:root{--steel-900: #000000;--steel-850: #030303;--steel-800: #050505;--steel-750: #0a0a0a;--steel-700: #0f0f0f;--steel-650: #1a1a1a;--steel-600: #1f1f1f;--steel-550: #2a2a2a;--steel-500: #383838;--steel-450: #525252;--steel-400: #6a6a6a;--steel-350: #828282;--steel-300: #a3a3a3;--steel-250: #b8b8b8;--steel-200: #d4d4d4;--steel-150: #e5e5e5;--steel-100: #fafafa;--is-dark-theme: true;--color-primary: #cf5d11;--color-primary-contrast: #fafafa;--color-primary-dark-1: #db7029;--color-primary-dark-2: #e58441;--color-primary-dark-3: #ed9759;--color-primary-dark-4: #f4ac74;--color-primary-dark-5: #f9c094;--color-primary-dark-6: #fdd2b3;--color-primary-dark-7: #ffe4d2;--color-primary-light-1: #b7510f;--color-primary-light-2: #9e460d;--color-primary-light-3: #863b0b;--color-primary-light-4: #6e3009;--color-primary-light-5: #562507;--color-primary-light-6: #3e1a05;--color-primary-light-7: #260f03;--color-primary-alpha-10: #cf5d1119;--color-primary-alpha-20: #cf5d1133;--color-primary-alpha-30: #cf5d114b;--color-primary-alpha-40: #cf5d1166;--color-primary-alpha-50: #cf5d1180;--color-primary-alpha-60: #cf5d1199;--color-primary-alpha-70: #cf5d11b3;--color-primary-alpha-80: #cf5d11cc;--color-primary-alpha-90: #cf5d11e1;--color-primary-hover: var(--color-primary-light-1);--color-primary-active: var(--color-primary-light-2);--color-secondary: #1f1f1f;--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-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;--color-git: #f05133;--color-body: #000000;--color-box-header: #0a0a0a;--color-box-body: #0a0a0a;--color-box-body-highlight: #1f1f1f;--color-text-dark: #fff;--color-text: #fafafa;--color-text-light: #a3a3a3;--color-text-light-1: #a3a3a3;--color-text-light-2: #8a8a8a;--color-text-light-3: #6a6a6a;--color-footer: #000000;--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: #181818;--color-input-border-hover: #2a2a2a;--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: #1f1f1f;--color-active: #2a2a2a;--color-menu: #0a0a0a;--color-card: #0a0a0a;--color-markup-table-row: #ffffff06;--color-markup-code-block: #0a0a0a;--color-markup-code-inline: #1f1f1f;--color-button: #1f1f1f;--color-code-bg: #0a0a0a;--color-shadow: #00000060;--color-secondary-bg: #1f1f1f;--color-text-focus: #fff;--color-expand-button: #1f1f1f;--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-tooltip-text: #ffffff;--color-tooltip-bg: #000000f0;--color-nav-bg: #000000;--color-nav-hover-bg: #1f1f1f;--color-nav-text: var(--color-text);--color-secondary-nav-bg: var(--color-body);--color-label-text: #fff;--color-label-bg: #1f1f1f;--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;accent-color:var(--color-accent);accent-color:var(--color-accent);color-scheme:dark;}
}
/* Common selector overrides (theme-agnostic, use vars) */
.text.green.svg{color:var(--color-green-light)!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.labels .label{background-color:var(--color-primary-dark-1)!important}.repository.view.issue .comment-list .code-comment+.code-comment{margin:1.25rem 0!important;padding-top:1.25rem!important;border-top-color:var(--zinc-250)!important}.ui.labeled.icon.buttons>.button>.icon,.ui.labeled.icon.button>.icon{background-color:var(--color-shadow)!important}#review-box .review-comments-counter{background-color:var(--color-label-bg)!important;margin-left:.5em}.ui.basic.labels .primary.label,.ui.ui.ui.basic.primary.label{color:var(--color-text-dark)!important}.ui.basic.yellow.label.pending-label{background:var(--color-warning-bg)!important;color:var(--color-warning-text)!important;border-color:var(--color-yellow-light)!important}::selection{background:var(--steel-450)!important;color:var(--color-white)!important}


/* ── Altovar shapes — make Forgejo Semantic UI feel like shadcn/altovar-ui ──
 *
 * Principles (matching altovar-ui Card/Input/Button source 1:1):
 *   - Borders are SUBTLE: --color-input-border (= altovar --border, very pale)
 *     not --color-secondary. No heavy outlines.
 *   - No primary glow focus ring. Inputs darken border on focus (shadcn does
 *     `focus-visible:border-foreground/30`, basically a slightly darker line).
 *   - Cards use shadow-xs (almost invisible), not the 2-layer shadow I had.
 *   - Header (navbar) shares body bg with only a hairline bottom border —
 *     altovar-ui AppHeader is `bg-background border-b border-border`.
 *   - rounded-md (0.375rem) on inputs/buttons, rounded-lg (0.5rem) on cards.
 */

/* Font stack — Inter if installed locally, else native */
body, .ui {
  font-family: "Inter", "Inter Variable", -apple-system, BlinkMacSystemFont,
    "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-feature-settings: "cv02", "cv03", "cv04", "cv11";
}
code, pre, .monospace, tt, .ui.search.dropdown > input.search {
  font-family: "JetBrains Mono", "JetBrains Mono Variable", ui-monospace,
    SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
}

/* ── Border radius ─────────────────────────────────────────────────────── */
.ui.button, .ui.buttons .button,
.ui.input > input, .ui.input input,
.ui.dropdown, .ui.selection.dropdown,
.ui.menu .ui.dropdown .menu > .item,
.ui.label, .ui.labels .label,
input[type="text"], input[type="email"], input[type="password"],
input[type="url"], input[type="number"], input[type="search"],
input[type="tel"], textarea {
  border-radius: 0.375rem;
}
.ui.card, .ui.cards > .card,
.ui.segment, .ui.segments, .ui.attached.segment,
.ui.message, .flash-message, .ui.modal,
.ui.dropdown .menu, .ui.popup, .ui.search > .results {
  border-radius: 0.5rem;
}

/* ── Header — blend with body (altovar-ui AppHeader pattern) ───────────── */
#navbar,
.full.height > .ui.menu,
.ui.top.menu.head,
.ui.main.menu {
  background: var(--color-body) !important;
  border: none !important;
  border-bottom: 1px solid var(--color-input-border) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
#navbar .item:hover {
  background: var(--color-hover);
  border-radius: 0.375rem;
}

/* ── Inputs / search ───────────────────────────────────────────────────── */
.ui.input > input, .ui.input input,
.ui.form input[type="text"], .ui.form input[type="email"],
.ui.form input[type="password"], .ui.form input[type="url"],
.ui.form input[type="number"], .ui.form input[type="search"],
.ui.form input[type="tel"], .ui.form textarea,
input[type="text"], input[type="email"], input[type="password"],
input[type="url"], input[type="number"], input[type="search"],
input[type="tel"], textarea,
.ui.selection.dropdown {
  padding: 0.375rem 0.75rem;
  min-height: 2.25rem;
  border: 1px solid var(--color-input-border);
  background: var(--color-input-background);
  color: var(--color-input-text);
  font-size: 0.875rem;
  transition: border-color 120ms ease, background-color 120ms ease;
  box-shadow: none !important;
}
textarea, .ui.form textarea {
  min-height: 5rem;
  line-height: 1.5;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

/* Focus: subtle border darken, NO primary glow ring (matches shadcn Input
 * `focus-visible:border-foreground/30`) */
.ui.input > input:focus, .ui.input input:focus,
input:focus, input:focus-visible,
textarea:focus, textarea:focus-visible,
.ui.selection.dropdown:focus,
.ui.selection.active.dropdown {
  border-color: var(--color-text-light-2) !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Search input — same as regular, no special background tint */
.ui.search > .prompt,
.ui.search input.prompt {
  border-radius: 0.375rem;
  border: 1px solid var(--color-input-border);
}

/* ── Buttons (shadcn proportions) ──────────────────────────────────────── */
.ui.button {
  padding: 0.375rem 0.875rem;
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  min-height: 2.25rem;
  border-radius: 0.375rem;
  transition: background-color 120ms ease, border-color 120ms ease;
  box-shadow: none !important;
}
.ui.tiny.button   { padding: 0.25rem 0.5rem;     min-height: 1.5rem;  font-size: 0.75rem; }
.ui.small.button  { padding: 0.3125rem 0.625rem; min-height: 1.75rem; font-size: 0.8125rem; }
.ui.large.button  { padding: 0.5rem 1rem;        min-height: 2.5rem;  font-size: 0.9375rem; }
.ui.huge.button   { padding: 0.625rem 1.25rem;   min-height: 2.75rem; font-size: 1rem; }

/* Primary — solid brand, no border noise */
.ui.primary.button, .ui.primary.buttons .button {
  background: var(--color-primary);
  color: var(--color-primary-contrast);
  border: 1px solid transparent;
}
.ui.primary.button:hover, .ui.primary.buttons .button:hover {
  background: var(--color-primary-dark-1);
}
.ui.primary.button:active, .ui.primary.buttons .button:active {
  background: var(--color-primary-dark-2);
}

/* Basic / outline — shadcn variant="outline" */
.ui.basic.button, .ui.basic.buttons .button {
  background: transparent;
  border: 1px solid var(--color-input-border);
  color: var(--color-text);
  box-shadow: none !important;
}
.ui.basic.button:hover {
  background: var(--color-hover);
  color: var(--color-text);
}

/* ── Dropdowns ─────────────────────────────────────────────────────────── */
.ui.dropdown .menu {
  border: 1px solid var(--color-input-border);
  box-shadow: 0 4px 12px -4px rgba(0,0,0,0.08);
  padding: 0.25rem;
  margin-top: 4px;
}
.ui.dropdown .menu > .item {
  border-radius: 0.25rem;
  padding: 0.4rem 0.625rem !important;
  font-size: 0.875rem !important;
  transition: background-color 100ms ease;
}
.ui.dropdown .menu > .item:hover,
.ui.dropdown .menu > .item.selected,
.ui.dropdown .menu > .active.item {
  background: var(--color-hover);
}

/* ── Cards / segments — subtle border + shadow-xs, NOT heavy ──────────── */
.ui.segment,
.ui.attached.segment,
.ui.card,
.ui.cards > .card {
  border: 1px solid var(--color-input-border);
  box-shadow: 0 1px 2px 0 rgba(0,0,0,0.04);
  background: var(--color-card);
}
.ui.segment.basic, .ui.basic.segment {
  border: none;
  box-shadow: none;
  background: transparent;
}
.ui.top.attached.segment {
  border-radius: 0.5rem 0.5rem 0 0;
}
.ui.bottom.attached.segment {
  border-radius: 0 0 0.5rem 0.5rem;
  border-top: none;
}
.ui.attached.segment + .ui.attached.segment {
  border-top: none;
}

/* ── Labels ───────────────────────────────────────────────────────────── */
.ui.label, .ui.labels .label {
  font-weight: 500;
  padding: 0.1875rem 0.5rem;
  font-size: 0.75rem;
}

/* ── Menus (sub-nav, tabs) — remove default border, just hover state ───── */
.ui.menu {
  background: transparent;
  border: none;
  box-shadow: none;
}
.ui.secondary.menu .item,
.ui.secondary.pointing.menu .item {
  font-weight: 500;
  border-radius: 0.375rem;
  transition: background-color 120ms ease, color 120ms ease;
}
.ui.secondary.menu .item:hover {
  background: var(--color-hover);
}
.ui.secondary.menu .active.item,
.ui.secondary.pointing.menu .active.item {
  background: var(--color-primary-alpha-10);
  color: var(--color-primary);
  border-color: transparent;
}
.ui.secondary.pointing.menu .active.item {
  border-bottom: 2px solid var(--color-primary);
}

/* ── Tables ───────────────────────────────────────────────────────────── */
.ui.table {
  border: 1px solid var(--color-input-border);
  border-radius: 0.5rem;
  box-shadow: none;
}

/* ── Modals ───────────────────────────────────────────────────────────── */
.ui.modal {
  border: 1px solid var(--color-input-border);
  box-shadow: 0 16px 48px -8px rgba(0,0,0,0.18);
}

/* ── Popup / tooltip ──────────────────────────────────────────────────── */
.ui.popup {
  border: 1px solid var(--color-input-border);
  box-shadow: 0 4px 12px -4px rgba(0,0,0,0.08);
  font-size: 0.8125rem;
}

/* ── No row separators on tables/file viewer — removed per user request.
 *    Forgejo's default file viewer + repository tables are kept border-less;
 *    visual grouping comes from spacing + subtle bg, not hairlines. */
.ui.table tr td,
.ui.table tbody tr td,
.ui.celled.table tr td,
.repository .ui.table tr td,
.code-view .lines-code,
.code-view tr,
.file-view table tr {
  border-top: none !important;
}

/* ── Commit SHA badge / file metadata chips — muted, not primary ───────── */
.ui.label.sha, .ui.sha.label,
.commit-summary .ui.label,
.commit-id, .sha.label,
a.ui.label.sha {
  background: var(--color-secondary) !important;
  color: var(--color-text) !important;
  border: 1px solid var(--color-input-border) !important;
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.75rem;
  font-weight: 500;
  padding: 0.1875rem 0.4375rem;
  border-radius: 0.375rem;
}
.ui.label.sha:hover {
  background: var(--color-hover) !important;
  border-color: var(--color-input-border-hover) !important;
}

/* ── Button group — segmented control look (Raw / Permalink / Blame /
 *    History toolbar on file view). User feedback: too stuck together
 *    without separation. Make it a unified segmented bar with shared
 *    borders + first/last rounding. */
.ui.buttons,
.ui.basic.buttons {
  display: inline-flex;
  border-radius: 0.375rem;
  overflow: hidden;
  isolation: isolate;
  background: var(--color-card);
}
.ui.buttons > .button,
.ui.basic.buttons > .button {
  border-radius: 0 !important;
  border: 1px solid var(--color-input-border);
  border-right-width: 0;
  background: var(--color-card);
  color: var(--color-text);
  margin: 0;
  box-shadow: none !important;
  position: relative;
}
.ui.buttons > .button:hover,
.ui.basic.buttons > .button:hover {
  background: var(--color-hover);
  z-index: 1;
}
.ui.buttons > .button:first-child,
.ui.basic.buttons > .button:first-child {
  border-top-left-radius: 0.375rem !important;
  border-bottom-left-radius: 0.375rem !important;
}
.ui.buttons > .button:last-child,
.ui.basic.buttons > .button:last-child {
  border-top-right-radius: 0.375rem !important;
  border-bottom-right-radius: 0.375rem !important;
  border-right-width: 1px;
}
.ui.buttons > .button.active,
.ui.basic.buttons > .button.active {
  background: var(--color-hover);
  color: var(--color-primary);
  z-index: 2;
}

/* ── File header toolbar — give it breathing room ────────────────────── */
.file-header,
.repository .file-header,
.repo-button-row {
  gap: 0.5rem;
}

/* ── Code radius — inline + blocks + file viewer ─────────────────────── */
/* Inline code (in markdown, commit messages, descriptions) */
code,
p code, li code, td code, dd code,
h1 code, h2 code, h3 code, h4 code, h5 code, h6 code,
.markup code, .markdown code,
.commit-summary code,
.discussion code,
.issue-title code {
  border-radius: 0.25rem;
  padding: 0.125rem 0.375rem;
  font-size: 0.875em;
  background: var(--color-markup-code-inline);
}

/* Code blocks (pre) — bigger radius + consistent padding */
pre, pre.code-block,
.markup pre, .markdown pre,
.file-view pre, .file-content pre,
.gt-pre, .CodeMirror-wrap,
.editor-preview pre {
  border-radius: 0.5rem;
  padding: 1rem 1.25rem;
  background: var(--color-markup-code-block);
  border: 1px solid var(--color-input-border);
  overflow-x: auto;
}
pre code {
  background: transparent !important;
  padding: 0;
  border-radius: 0;
  font-size: 0.8125rem;
  line-height: 1.4375;
}

/* File viewer (the entire .ui.attached + content + footer container) */
.file-view,
.repository .file-view,
.file-content,
.code-view,
.non-diff-file-content {
  border-radius: 0.5rem;
  overflow: hidden;
}
.file-view .ui.segment,
.file-content .ui.segment {
  border-radius: 0;
  border: none;
  box-shadow: none;
}
.file-view .ui.attached.segment.header,
.file-content .ui.attached.segment.header {
  border-radius: 0.5rem 0.5rem 0 0;
  border: 1px solid var(--color-input-border);
}
.file-view .ui.attached.segment.content,
.file-content .ui.attached.segment.content {
  border-radius: 0 0 0.5rem 0.5rem;
  border: 1px solid var(--color-input-border);
  border-top: none;
}

/* ── More breathing room across the UI ───────────────────────────────── */
/* Main containers — wider padding so content isn't kissing edges */
.full.height .ui.container,
.page-content > .ui.container,
.repository .ui.container {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

/* Segments / cards — more internal padding */
.ui.segment {
  padding: 1.25rem 1.5rem;
}
.ui.attached.segment {
  padding: 1rem 1.25rem;
}
.ui.basic.segment, .ui.segment.basic {
  padding: 0.75rem 0;
}
.ui.card > .content,
.ui.cards > .card > .content {
  padding: 1.125rem 1.25rem;
}

/* Form fields — more vertical rhythm */
.ui.form .field {
  margin-bottom: 1.125rem;
}
.ui.form .field > label {
  margin-bottom: 0.4375rem;
  font-weight: 500;
  font-size: 0.875rem;
}

/* Menu items — easier to click, less cramped */
.ui.menu .item {
  padding: 0.5rem 0.875rem;
}
.ui.secondary.menu .item,
.ui.secondary.pointing.menu .item {
  padding: 0.5rem 0.875rem;
}
.ui.vertical.menu .item {
  padding: 0.5rem 0.875rem;
}

/* Dropdown menu items */
.ui.dropdown .menu > .item {
  padding: 0.5rem 0.75rem !important;
}

/* Table rows — more vertical breathing (data tables only) */
.ui.table tr td,
.ui.table tbody tr td {
  padding: 0.75rem 0.875rem;
}
.ui.table thead tr th {
  padding: 0.75rem 0.875rem;
  font-weight: 500;
}

/* …but NOT for the file viewer / code table — those need GitHub-tight
   line spacing (no extra padding per row, just line-height drives spacing). */
.code-view table tr td,
.code-view tr td,
.file-view table tr td,
.file-content table tr td,
.lines-num, .lines-num td,
.lines-code, .lines-code td,
.lines-num-old, .lines-num-new,
.blob-num, .blob-code,
.non-diff-file-content table tr td {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  line-height: 1.4375 !important;
}
.code-view .lines-code,
.code-view .lines-code pre,
.code-view .lines-code code,
.file-content .lines-code,
.file-content .lines-code pre,
.file-content .lines-code code {
  font-size: 0.8125rem;
  line-height: 1.4375 !important;
}
/* Line number column — same tight rhythm */
.lines-num span,
.lines-num-old, .lines-num-new {
  line-height: 1.4375 !important;
}

/* Repository file list rows */
.repository .repo-files-table tr td,
.repository .file-list .item,
.repo-files-table tr td {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}

/* Issue / PR list items */
.repository .issue.list > .item,
.repository .pull.list > .item,
.issue.list > .item, .pull.list > .item {
  padding: 0.875rem 1rem;
}

/* Commit list */
.repository .commit-list .commit {
  padding: 0.75rem 1rem;
}

/* Headers within content — more breathing */
.ui.header {
  margin-bottom: 0.875rem;
}
.ui.header:not(:first-child) {
  margin-top: 1.5rem;
}

/* Body line height */
body { line-height: 1.5; }
