Files
jmiller 81d065b9bb
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Universal: PR Check / Validate PR (pull_request) Successful in 9s
Generic: Project CI / Lint & Validate (pull_request) Successful in 32s
Generic: Standards Compliance / Secret Scanning (push) Failing after 9s
Universal: PR Check / Secret Scan (pull_request) Successful in 51s
Generic: Standards Compliance / License Header Validation (push) Successful in 9s
Generic: Standards Compliance / Repository Structure Validation (push) Successful in 8s
Generic: Standards Compliance / Coding Standards Check (push) Successful in 10s
Generic: Standards Compliance / Workflow Configuration Check (push) Failing after 9s
Generic: Standards Compliance / Documentation Quality Check (push) Successful in 8s
Generic: Standards Compliance / README Completeness Check (push) Failing after 7s
Generic: Standards Compliance / Version Consistency Check (push) Successful in 1m2s
Generic: Standards Compliance / Script Integrity Validation (push) Successful in 26s
Generic: Standards Compliance / Git Repository Hygiene (push) Successful in 1m5s
Generic: Standards Compliance / File Naming Standards (push) Successful in 10s
Generic: Standards Compliance / Line Length Check (push) Successful in 23s
Generic: Standards Compliance / Insecure Code Pattern Detection (push) Successful in 10s
Generic: Standards Compliance / Code Complexity Analysis (push) Successful in 1m2s
Generic: Standards Compliance / Code Duplication Detection (push) Successful in 1m8s
Generic: Standards Compliance / Dead Code Detection (push) Successful in 16s
Generic: Standards Compliance / File Size Limits (push) Successful in 16s
Generic: Standards Compliance / TODO/FIXME Tracking (push) Successful in 14s
Generic: Standards Compliance / Dependency Vulnerability Scanning (push) Successful in 1m3s
Deploy (Prod) / Build & Deploy to Prod (push) Successful in 5m9s
Generic: Standards Compliance / Broken Link Detection (push) Successful in 12s
Generic: Standards Compliance / API Documentation Coverage (push) Successful in 7s
Generic: Standards Compliance / Accessibility Check (push) Successful in 7s
Generic: Standards Compliance / Performance Metrics (push) Successful in 8s
Generic: Standards Compliance / Binary File Detection (push) Successful in 2m12s
Generic: Standards Compliance / Unused Dependencies Check (push) Successful in 55s
Generic: Standards Compliance / Terraform Configuration Validation (push) Successful in 12s
Generic: Standards Compliance / Enterprise Readiness Check (push) Successful in 55s
Generic: Standards Compliance / Repository Health Check (push) Successful in 54s
Generic: Project CI / Tests (pull_request) Has been cancelled
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
Generic: Standards Compliance / Compliance Summary (push) Has been cancelled
feat: MokoGIT branding -- mokoconsulting.tech reskin, Font Awesome, toggle, a11y menu, PWA
Comprehensive MokoGIT theme/branding built from the authoritative mokoconsulting.tech
design tokens (MokoOnyx *.custom.css):

- Theme: replace gitea themes entirely with theme-mokogit-{light,dark,auto} (default
  mokogit-auto); brand tokens (primary #010156 / accent #3f8ff0, navy nav+footer #112855,
  semantic palette); mokogit-brand.css component reskin; runtime custom-stylesheet override
  hook (templates/custom/header.tmpl -> mokogit-custom.css, re-skin live with no rebuild).
- Font Awesome 7 Free 7.1.0: vendored unmodified (CSS headers intact + webfonts + verbatim
  LICENSE.txt), license-compliant for distribution/white-label (Icons CC BY 4.0, Fonts SIL
  OFL 1.1, Code MIT); attributed in THIRD-PARTY-NOTICES.md, README, and wiki.
- Light/dark toggle: navbar sun/moon control, server-persisted via the existing
  /user/settings/appearance/theme endpoint (anonymous falls back to localStorage).
- Accessibility menu: 6 options (text resize, color invert, high contrast, link highlight,
  readable font, pause animations); localStorage-persisted, applied on <html>, ARIA/keyboard.
- PWA: service worker (network-first navigation + cached offline fallback) + branded offline
  page + enhanced manifest (display standalone, navy theme_color, app shortcuts); manifest
  icon sourced from the site-admin branding icon if set, else the bundled MokoGIT logo.

Verified: `go build ./...` and `vite build` both green; only mokogit themes emit.
2026-07-16 14:31:52 -05:00

88 lines
2.7 KiB
CSS

/* MokoGIT brand reskin layer
*
* Applies the mokoconsulting.tech design language on top of Gitea's component
* modules, using theme tokens (theme-mokogit-{light,dark}.css) wherever a
* variable exists so light/dark and runtime overrides "just work".
*
* Sourced from A:\MokoOnyx (the mokoconsulting.tech template):
* - fonts: system stack + Roboto (Gitea's --fonts-proportional already matches)
* - radius: .25rem base (Gitea --border-radius is already 4px)
* - soft elevation on cards/dropdowns/modals
* - buttons: weight 400, .6rem/1rem padding
* - deep-navy nav + footer (set via --color-nav-bg in the theme files)
*
* Load order: imported last in index.css so it overrides component modules;
* Tailwind utilities still win (declared after this).
*/
:root {
/* Exact mokoconsulting.tech font stack for parity (Gitea falls back to this). */
--fonts-override: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans";
/* mokoconsulting soft-elevation shadow scale (referenced by the rules below
* and available for custom overrides). */
--mokogit-shadow-sm: 0 .125rem .25rem rgba(0, 0, 0, .075);
--mokogit-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);
--mokogit-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, .175);
}
/* Heavier elevation on dark surfaces — explicit dark theme + auto-following-system. */
:root[data-theme="mokogit-dark"] {
--mokogit-shadow-sm: 0 .125rem .25rem rgba(0, 0, 0, .25);
--mokogit-shadow: 0 .5rem 1rem rgba(0, 0, 0, .5);
--mokogit-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, .6);
}
@media (prefers-color-scheme: dark) {
:root[data-theme="mokogit-auto"] {
--mokogit-shadow-sm: 0 .125rem .25rem rgba(0, 0, 0, .25);
--mokogit-shadow: 0 .5rem 1rem rgba(0, 0, 0, .5);
--mokogit-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, .6);
}
}
/* ---- Buttons: mokoconsulting weight + padding ---- */
.ui.button,
.ui.buttons .button {
font-weight: 400;
}
/* ---- Soft elevation on floating surfaces ---- */
.ui.card,
.ui.cards > .card,
.ui.segment {
box-shadow: var(--mokogit-shadow-sm);
}
.ui.dropdown .menu,
.ui.menu .dropdown.item .menu {
box-shadow: var(--mokogit-shadow);
}
.ui.modal {
box-shadow: var(--mokogit-shadow-lg);
}
/* ---- Navbar: brand weight for the site title ---- */
#navbar .navbar-brand,
#navbar .brand {
font-weight: 600;
}
/* ---- Footer: navy brand band (color already via --color-footer) ---- */
.page-footer,
footer.page-footer {
color: var(--color-nav-text);
}
.page-footer a {
color: var(--color-nav-text);
opacity: .85;
}
.page-footer a:hover {
opacity: 1;
}
/* ---- Links: mokoconsulting underline affordance in prose ---- */
.markup a:not(.btn):not([class^="ui "]) {
text-decoration-thickness: from-font;
}