/* Forgejo's own theme switcher sets data-theme (forgejo-auto/-light/-dark, persisted per-account) independent of prefers-color-scheme. "-auto" already matches the OS preference the shared stylesheet reacts to, so only the explicit -light/-dark overrides need a rule here -- same fix as LLDAP's html.dark/html.light override in hosts/blunix/localServices/lldap.nix. */ html[data-theme*="dark"], html[data-theme*="dark"] body { background-color: hsl(0 0% 10%) !important; background-image: radial-gradient(circle, hsl(0 0% 14%) 1px, hsl(0 0% 10%) 1px) !important; } html[data-theme*="light"], html[data-theme*="light"] body { background-color: ghostwhite !important; background-image: radial-gradient(circle, lightsteelblue 1px, ghostwhite 1px) !important; } /* Launcher palette's primary/hover pair (palette-2 resting, palette-1 hover) -- same convention as the guide tile on 0ff.space and LLDAP's button override. Only --color-primary itself, not the derived -dark-N/-light-N/-alpha-N/-hover/-active shades Forgejo computes from it at build time (those stay Forgejo's own, so contrast against its own surface colors is preserved in both light and dark). Unconditional (not wrapped in the data-theme selectors above): forgejo redefines the entire :root block per theme, so a plain :root override here, loaded after forgejo's own stylesheet, wins in both regardless. */ :root { --color-primary: #d91e4d; --color-primary-hover: #ff0026; --color-primary-active: #ff0026; --color-accent: #d91e4d; } /* Dark mode's box/card/nav backgrounds (--color-body, --color-box-header, --color-box-body, --color-card, --color-menu, --color-input-background, etc.) all derive from this one --steel-* scale, which is blue-tinted, not neutral. Replacing it with true grays at roughly the same lightness steps -- --steel-700 (--color-box-header/--color-card) lands on hsl(0 0% 18%), the same tone as the resting dark tile background on 0ff.space (see .box in launcher/style.css), so cards read as the same material as the launcher tiles instead of Forgejo's own blue-gray. Two rules, not one: html[data-theme*="dark"] only matches the *explicit* forgejo-dark/gitea-dark theme choice, never the default "forgejo-auto" -- that string never contains "dark" even while it's visually rendering dark via the OS preference. Missed this the first time around: only the explicit rule existed, so this only ever took effect for someone who'd manually switched off "auto". */ html[data-theme*="dark"] { --steel-900: hsl(0 0% 8%); --steel-850: hsl(0 0% 10%); --steel-800: hsl(0 0% 12%); --steel-750: hsl(0 0% 15%); --steel-700: hsl(0 0% 18%); --steel-650: hsl(0 0% 24%); --steel-600: hsl(0 0% 25%); --steel-550: hsl(0 0% 30%); --steel-500: hsl(0 0% 35%); --steel-450: hsl(0 0% 41%); --steel-400: hsl(0 0% 47%); --steel-350: hsl(0 0% 54%); --steel-300: hsl(0 0% 61%); --steel-250: hsl(0 0% 68%); --steel-200: hsl(0 0% 74%); --steel-150: hsl(0 0% 81%); --steel-100: hsl(0 0% 88%); } @media (prefers-color-scheme: dark) { html[data-theme="forgejo-auto"] { --steel-900: hsl(0 0% 8%); --steel-850: hsl(0 0% 10%); --steel-800: hsl(0 0% 12%); --steel-750: hsl(0 0% 15%); --steel-700: hsl(0 0% 18%); --steel-650: hsl(0 0% 24%); --steel-600: hsl(0 0% 25%); --steel-550: hsl(0 0% 30%); --steel-500: hsl(0 0% 35%); --steel-450: hsl(0 0% 41%); --steel-400: hsl(0 0% 47%); --steel-350: hsl(0 0% 54%); --steel-300: hsl(0 0% 61%); --steel-250: hsl(0 0% 68%); --steel-200: hsl(0 0% 74%); --steel-150: hsl(0 0% 81%); --steel-100: hsl(0 0% 88%); } } /* .flex-item-trailing.muted-links wraps exactly the language dot, star count, and fork count on repo list rows (explore, user profile, org pages) -- nothing else, confirmed against /explore/repos' rendered HTML. */ .flex-item-trailing.muted-links { display: none !important; } /* Explore: center repo names instead of left-aligned. */ .page-content.explore .flex-item-header { justify-content: center; } /* Wiki pages: content (+ its TOC sidebar) directly after the site navbar, everything else -- the lukas/nixos-config breadcrumb, watch/ star/fork buttons, and the Code/Issues/Pulls/.../Wiki tab bar (all inside .secondary-nav), the page title/revision-count/"edited this page" line (.ui.dividing.header), and the page-picker/clone-panel button row -- pushed below it instead of above. Confirmed working live on /wiki/userguide across three iterations: the reorder itself, then the breadcrumb+tabs (.secondary-nav wasn't reordered the first time), then the title/revision header (a third direct child of .ui.container.file-content the first two passes didn't touch). */ .page-content.repository.wiki { display: flex; flex-direction: column; } .page-content.repository.wiki > .secondary-nav { order: 2; } .page-content.repository.wiki .ui.container.file-content { display: flex; flex-direction: column; order: 1; } .page-content.repository.wiki .repo-button-row { order: 1; } .page-content.repository.wiki .ui.container.file-content > .ui.dividing.header { order: 1; }