From 0863cfa805fb0942b835e6b230b1c00502f1db53 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 4 Oct 2026 08:47:40 +0000 Subject: [PATCH] Replace theme CSS with updated versions, add README with previews Update theme-light.css and theme-dark.css to the latest GitHub-style Gitea 1.27.x theme revisions, and add a README with preview images and usage instructions. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_015g6ECVSKcBG8CJPrqC3G5o --- README.md | 33 +- assets/preview-1.png | Bin 0 -> 54187 bytes assets/preview-2.jpg | Bin 0 -> 97567 bytes css/theme-dark.css | 1298 ++++++++++++++++++++++------------------ css/theme-light.css | 1363 ++++++++++++++++++++---------------------- 5 files changed, 1410 insertions(+), 1284 deletions(-) create mode 100644 assets/preview-1.png create mode 100644 assets/preview-2.jpg diff --git a/README.md b/README.md index 99837ae..1df4e6d 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,33 @@ # css -css foog - +GitHub-style themes for **Gitea 1.27.x** — light and dark, built with modern CSS (`color-mix()`), matching GitHub's typography, spacing and color tokens. + +

+ Theme preview +

+ +

+ css +

+ +## Themes + +| File | Description | +|---|---| +| [`css/theme-light.css`](css/theme-light.css) | GitHub Light — for `prefers-color-scheme: light` | +| [`css/theme-dark.css`](css/theme-dark.css) | GitHub Dark — for `prefers-color-scheme: dark` | +| [`css/theme-auto.css`](css/theme-auto.css) | Switches between the two automatically based on system preference | + +## Requirements + +A browser with `color-mix()` support: Chrome 111+, Firefox 113+, Safari 16.2+. + +## Installation + +1. Copy the files from [`css/`](css/) into your Gitea instance's `custom/public/assets/css/` directory (or wherever your Gitea deployment serves custom CSS from). +2. Reference `theme-auto.css` (or `theme-light.css` / `theme-dark.css` directly) from your Gitea custom template, or set it as a selectable theme in `app.ini`. +3. Restart Gitea, or reload the page, to pick up the new styles. + +## License + +Use and adapt freely. diff --git a/assets/preview-1.png b/assets/preview-1.png new file mode 100644 index 0000000000000000000000000000000000000000..68879bfd0e1d55c12d184327926407570fd73930 GIT binary patch literal 54187 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%0A>GCBB6`K;rvg3i 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 z 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'); - --checkbox-mask-indeterminate: url('data:image/svg+xml;utf8,'); - --octicon-chevron-right: url('data:image/svg+xml;utf8,'); - --border-radius: 8px; --border-radius-medium: 16px; --border-radius-full: calc(infinity * 1px); - --opacity-disabled: 0.55; --height-loading: 16rem; --min-height-textarea: 132px; --checkbox-size: 16px; - --page-spacing: 24px; --page-margin-x: 32px; --tab-size: 4; + --fonts-proportional: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif; + --fonts-monospace: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace, var(--fonts-emoji); + --border-radius: 6px; + --border-radius-medium: 12px; + --page-spacing: 24px; + --page-margin-x: 32px; +} +@media (768px <= width <= 1200px) { :root { --page-margin-x: 24px; } } +@media (width < 768px) { :root { --page-margin-x: 16px; } } + +/* ============================================================ + THEME TOKENS — GitHub Dark + Only raw palette values live here; every derived shade, + alpha step and component rule below is computed from them. + ============================================================ */ +gitea-theme-meta-info { --theme-display-name: "GitHub Dark"; } + +:root { + color-scheme: dark; + accent-color: var(--color-accent); + --is-dark-theme: true; + + /* Primer primitives */ + --gh-canvas: #0d1117; + --gh-canvas-subtle: #151b23; + --gh-overlay: #151b23; + --gh-fg: #f0f6fc; + --gh-fg-muted: #9198a1; + --gh-fg-subtle: #6e7681; + --gh-border: #3d444d; + --gh-border-strong: #656c76; + --gh-neutral-muted: #656c7633; + --gh-accent-fg: #4493f8; + --gh-accent-emphasis: #1f6feb; + --gh-accent-subtle: #388bfd1a; + --gh-success-fg: #3fb950; + --gh-danger-fg: #f85149; + --gh-danger-emphasis: #da3633; + --gh-underline-active: #f78166; + --gh-header-bg: #010409; + --gh-btn-bg: #212830; + --gh-btn-primary-bg: #238636; + --gh-btn-primary-hover: #29903b; + --gh-btn-primary-border: #f0f6fc1a; + --gh-shadow-overlay: 0 0 0 1px #3d444d, 0 6px 12px -3px #01040966, 0 6px 18px 0 #01040966; + --gh-shadow-resting: 0 0 transparent; + --gh-mix-strong: #ffffff; /* direction of "-dark-N" shades */ + + /* Syntax (GitHub prettylights) */ + --syn-comment: #9198a1; + --syn-constant: #79c0ff; + --syn-entity: #d2a8ff; + --syn-keyword: #ff7b72; + --syn-tag: #7ee787; + --syn-string: #a5d6ff; + --syn-variable: #ffa657; + --syn-regexp: #7ee787; + --syn-inserted-fg: #aff5b4; + --syn-inserted-bg: #033a16; + --syn-deleted-fg: #ffdcd7; + --syn-deleted-bg: #67060c; + + /* Named palette */ + --color-red: #f85149; + --color-orange: #db6d28; + --color-yellow: #d29922; + --color-olive: #9bb53a; + --color-green: #3fb950; + --color-teal: #39c5cf; + --color-blue: #4493f8; + --color-violet: #a371f7; + --color-purple: #8957e5; + --color-pink: #db61a2; + --color-brown: #c69026; + --color-black: #010409; + --color-white: #ffffff; + --color-grey: #6e7681; + --color-grey-light: #9198a1; + --color-gold: #d29922; + --color-green-contrast: #010409; + --color-red-contrast: #010409; + + /* Brand */ + --color-primary: var(--gh-accent-fg); + --color-primary-contrast: #ffffff; + --color-secondary: var(--gh-border); + --color-accent: var(--gh-accent-emphasis); + --color-small-accent: var(--gh-accent-subtle); + + /* Status */ + --color-error-border: #f8514966; + --color-error-bg: #f851491a; + --color-error-text: #f85149; + --color-success-border: #2ea04366; + --color-success-bg: #2ea04326; + --color-success-text: #3fb950; + --color-warning-border: #bb800966; + --color-warning-bg: #bb800926; + --color-warning-text: #d29922; + --color-info-border: #388bfd66; + --color-info-bg: #388bfd1a; + --color-info-text: #4493f8; + + /* Diff */ + --color-diff-added-row-bg: #2ea04326; + --color-diff-added-linenum-bg: #3fb9504d; + --color-diff-added-row-border: #3fb9504d; + --color-diff-added-word-bg: #2ea04366; + --color-diff-removed-row-bg: #f851491a; + --color-diff-removed-linenum-bg: #f851494d; + --color-diff-removed-row-border: #f851494d; + --color-diff-removed-word-bg: #f8514966; + --color-diff-moved-row-bg: #bb800926; + --color-diff-moved-row-border: #bb800966; + --color-diff-inactive: var(--gh-canvas-subtle); + + /* Surface-specific */ + --color-highlight-fg: #e3b341; + --color-highlight-bg: #bb800933; + --color-editor-line-highlight: #bb800926; + --color-hover: #656c7633; + --color-hover-opaque: #262c36; + --color-active: #656c7666; + --color-shadow: #01040966; + --color-shadow-opaque: #010409; + --color-shadow-rgb: 1, 4, 9; + --color-tooltip-bg: #3d444d; + --color-overlay-backdrop: #21283066; } -@media (min-width: 768px) and (max-width: 1200px) { :root { --page-margin-x: 24px; } } - -@media (max-width: 767.98px) { :root { --page-margin-x: 16px; } } - -/* ===================== COLORS — DARK (scoped) ===================== */ +/* ============================================================ + DERIVED TOKENS — identical in both themes + Shades and alpha steps are generated with color-mix(), so a + palette change above propagates everywhere automatically. + ============================================================ */ :root { - accent-color: var(--color-accent); - color-scheme: dark; - --is-dark-theme: true; - --color-primary: #a6c6f7; - --color-primary-contrast: #000000; - --color-primary-dark-1: #b4cff8; - --color-primary-dark-2: #c2d8fa; - --color-primary-dark-3: #d0e1fb; - --color-primary-dark-4: #d5e4fb; - --color-primary-dark-5: #ffffff; - --color-primary-dark-6: #ffffff; - --color-primary-dark-7: #ffffff; - --color-primary-light-1: #98bdf6; - --color-primary-light-2: #8ab4f4; - --color-primary-light-3: #77a8f3; - --color-primary-light-4: #6099f1; - --color-primary-light-5: #488aef; - --color-primary-light-6: #1a6cea; - --color-primary-light-7: #1156c0; - --color-primary-alpha-10: rgba(166, 198, 247, 0.1); - --color-primary-alpha-20: rgba(166, 198, 247, 0.2); - --color-primary-alpha-30: rgba(166, 198, 247, 0.3); - --color-primary-alpha-40: rgba(166, 198, 247, 0.4); - --color-primary-alpha-50: rgba(166, 198, 247, 0.5); - --color-primary-alpha-60: rgba(166, 198, 247, 0.6); - --color-primary-alpha-70: rgba(166, 198, 247, 0.7); - --color-primary-alpha-80: rgba(166, 198, 247, 0.8); - --color-primary-alpha-90: rgba(166, 198, 247, 0.9); - --color-primary-hover: var(--color-primary-light-1); - --color-primary-active: var(--color-primary-light-3); - --color-secondary: #1d1d2a; - --color-secondary-dark-1: #232333; - --color-secondary-dark-2: #29293c; - --color-secondary-dark-3: #303045; - --color-secondary-dark-4: #36364e; - --color-secondary-dark-5: #3c3c57; - --color-secondary-dark-6: #474766; - --color-secondary-dark-7: #515175; - --color-secondary-dark-8: #5b5b85; - --color-secondary-dark-9: #666694; - --color-secondary-dark-10: #74749f; - --color-secondary-dark-11: #8383a9; - --color-secondary-dark-12: #9292b4; - --color-secondary-dark-13: #a1a1be; - --color-secondary-light-1: #171721; - --color-secondary-light-2: #111118; - --color-secondary-light-3: #0a0a0f; - --color-secondary-light-4: #040406; - --color-secondary-alpha-10: rgba(29, 29, 42, 0.1); - --color-secondary-alpha-20: rgba(29, 29, 42, 0.2); - --color-secondary-alpha-30: rgba(29, 29, 42, 0.3); - --color-secondary-alpha-40: rgba(29, 29, 42, 0.4); - --color-secondary-alpha-50: rgba(29, 29, 42, 0.5); - --color-secondary-alpha-60: rgba(29, 29, 42, 0.6); - --color-secondary-alpha-70: rgba(29, 29, 42, 0.7); - --color-secondary-alpha-80: rgba(29, 29, 42, 0.8); - --color-secondary-alpha-90: rgba(29, 29, 42, 0.9); + /* primary scale: "-dark-N" = more contrast vs. canvas, "-light-N" = closer to canvas */ + --color-primary-dark-1: color-mix(in srgb, var(--color-primary), var(--gh-mix-strong) 6%); + --color-primary-dark-2: color-mix(in srgb, var(--color-primary), var(--gh-mix-strong) 12%); + --color-primary-dark-3: color-mix(in srgb, var(--color-primary), var(--gh-mix-strong) 18%); + --color-primary-dark-4: color-mix(in srgb, var(--color-primary), var(--gh-mix-strong) 24%); + --color-primary-dark-5: color-mix(in srgb, var(--color-primary), var(--gh-mix-strong) 32%); + --color-primary-dark-6: color-mix(in srgb, var(--color-primary), var(--gh-mix-strong) 40%); + --color-primary-dark-7: color-mix(in srgb, var(--color-primary), var(--gh-mix-strong) 48%); + --color-primary-light-1: color-mix(in srgb, var(--color-primary), var(--gh-canvas) 10%); + --color-primary-light-2: color-mix(in srgb, var(--color-primary), var(--gh-canvas) 20%); + --color-primary-light-3: color-mix(in srgb, var(--color-primary), var(--gh-canvas) 30%); + --color-primary-light-4: color-mix(in srgb, var(--color-primary), var(--gh-canvas) 45%); + --color-primary-light-5: color-mix(in srgb, var(--color-primary), var(--gh-canvas) 60%); + --color-primary-light-6: color-mix(in srgb, var(--color-primary), var(--gh-canvas) 85%); + --color-primary-light-7: color-mix(in srgb, var(--color-primary), var(--gh-canvas) 95%); + --color-primary-hover: var(--color-primary-dark-1); + --color-primary-active: var(--color-primary-dark-2); + --color-primary-alpha-10: color-mix(in srgb, var(--color-primary) 10%, transparent); + --color-primary-alpha-20: color-mix(in srgb, var(--color-primary) 20%, transparent); + --color-primary-alpha-30: color-mix(in srgb, var(--color-primary) 30%, transparent); + --color-primary-alpha-40: color-mix(in srgb, var(--color-primary) 40%, transparent); + --color-primary-alpha-50: color-mix(in srgb, var(--color-primary) 50%, transparent); + --color-primary-alpha-60: color-mix(in srgb, var(--color-primary) 60%, transparent); + --color-primary-alpha-70: color-mix(in srgb, var(--color-primary) 70%, transparent); + --color-primary-alpha-80: color-mix(in srgb, var(--color-primary) 80%, transparent); + --color-primary-alpha-90: color-mix(in srgb, var(--color-primary) 90%, transparent); + + /* secondary (border) scale: "-dark-N" walks toward text, "-light-N" toward canvas */ + --color-secondary-dark-1: color-mix(in srgb, var(--color-secondary), var(--gh-fg) 6%); + --color-secondary-dark-2: color-mix(in srgb, var(--color-secondary), var(--gh-fg) 13%); + --color-secondary-dark-3: color-mix(in srgb, var(--color-secondary), var(--gh-fg) 20%); + --color-secondary-dark-4: color-mix(in srgb, var(--color-secondary), var(--gh-fg) 26%); + --color-secondary-dark-5: color-mix(in srgb, var(--color-secondary), var(--gh-fg) 32%); + --color-secondary-dark-6: color-mix(in srgb, var(--color-secondary), var(--gh-fg) 39%); + --color-secondary-dark-7: color-mix(in srgb, var(--color-secondary), var(--gh-fg) 46%); + --color-secondary-dark-8: color-mix(in srgb, var(--color-secondary), var(--gh-fg) 52%); + --color-secondary-dark-9: color-mix(in srgb, var(--color-secondary), var(--gh-fg) 58%); + --color-secondary-dark-10: color-mix(in srgb, var(--color-secondary), var(--gh-fg) 65%); + --color-secondary-dark-11: color-mix(in srgb, var(--color-secondary), var(--gh-fg) 72%); + --color-secondary-dark-12: color-mix(in srgb, var(--color-secondary), var(--gh-fg) 78%); + --color-secondary-dark-13: color-mix(in srgb, var(--color-secondary), var(--gh-fg) 84%); + --color-secondary-light-1: color-mix(in srgb, var(--color-secondary), var(--gh-canvas) 20%); + --color-secondary-light-2: color-mix(in srgb, var(--color-secondary), var(--gh-canvas) 40%); + --color-secondary-light-3: color-mix(in srgb, var(--color-secondary), var(--gh-canvas) 60%); + --color-secondary-light-4: color-mix(in srgb, var(--color-secondary), var(--gh-canvas) 80%); + --color-secondary-alpha-10: color-mix(in srgb, var(--color-secondary) 10%, transparent); + --color-secondary-alpha-20: color-mix(in srgb, var(--color-secondary) 20%, transparent); + --color-secondary-alpha-30: color-mix(in srgb, var(--color-secondary) 30%, transparent); + --color-secondary-alpha-40: color-mix(in srgb, var(--color-secondary) 40%, transparent); + --color-secondary-alpha-50: color-mix(in srgb, var(--color-secondary) 50%, transparent); + --color-secondary-alpha-60: color-mix(in srgb, var(--color-secondary) 60%, transparent); + --color-secondary-alpha-70: color-mix(in srgb, var(--color-secondary) 70%, transparent); + --color-secondary-alpha-80: color-mix(in srgb, var(--color-secondary) 80%, transparent); + --color-secondary-alpha-90: color-mix(in srgb, var(--color-secondary) 90%, transparent); --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: #f7f8f9; - --color-console-fg-subtle: #bdc4cc; - --color-console-bg: #171b1e; - --color-console-border: #2e353b; - --color-console-hover-bg: #272d33; - --color-console-active-bg: #2e353b; - --color-console-menu-bg: #262b31; - --color-console-menu-border: #414b55; - --color-red: #f38ba8; - --color-orange: #fab387; - --color-yellow: #f9e2af; - --color-olive: #e2f095; - --color-green: #00e676; - --color-teal: #94e2d5; - --color-blue: #89b4fa; - --color-violet: #b4befe; - --color-purple: #9b6bf5; - --color-pink: #f5c2e7; - --color-brown: #f2cdcd; - --color-black: #181825; - --color-white: #e6edf3; - --color-green-contrast: var(--color-black); - --color-red-contrast: var(--color-black); - --color-red-light: #f8b9cb; - --color-orange-light: #fcd2b8; - --color-yellow-light: #fdf3de; - --color-olive-light: #eef6c2; - --color-green-light: #1aff8f; - --color-teal-light: #bcede5; - --color-blue-light: #bad3fc; - --color-violet-light: #e6eaff; - --color-purple-light: #bb9bf8; - --color-pink-light: #fceef8; - --color-brown-light: #fdf5f5; - --color-black-light: #2c2c44; - --color-red-dark-1: #ee5d85; - --color-orange-dark-1: #f89456; - --color-yellow-dark-1: #f5d180; - --color-olive-dark-1: #d6ea68; - --color-green-dark-1: #00b35c; - --color-teal-dark-1: #6cd7c5; - --color-blue-dark-1: #5895f8; - --color-violet-dark-1: #8292fd; - --color-purple-dark-1: #7b3bf2; - --color-pink-dark-1: #ee96d6; - --color-brown-dark-1: #e7a5a5; - --color-black-dark-1: #040406; - --color-red-dark-2: #e92f63; - --color-orange-dark-2: #f67525; - --color-yellow-dark-2: #f2c050; - --color-olive-dark-2: #cae33c; - --color-green-dark-2: #008042; - --color-teal-dark-2: #44ccb6; - --color-blue-dark-2: #2776f6; - --color-violet-dark-2: #4f67fd; - --color-purple-dark-2: #5c10ea; - --color-pink-dark-2: #e76ac5; - --color-brown-dark-2: #dd7c7c; - --color-black-dark-2: #000000; - --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: #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-grey: #73738c; - --color-grey-light: #c7c7d1; - --color-gold: #f2c050; - --color-white: #e6edf3; - --color-git: #f05133; - --color-diff-added-linenum-bg: #195e52; - --color-diff-added-row-bg: #0f362f; - --color-diff-added-row-border: #248676; - --color-diff-added-word-bg: #195e52; - --color-diff-moved-row-bg: #271c03; - --color-diff-moved-row-border: #563d06; - --color-diff-removed-linenum-bg: #450718; - --color-diff-removed-row-bg: #2e0510; - --color-diff-removed-row-border: #730c29; - --color-diff-removed-word-bg: #5c0a21; - --color-diff-inactive: #1b1b2d; - --color-error-border: #f38ba8; - --color-error-bg: rgba(243, 139, 168, 0.15); - --color-error-bg-active: #f6a7bd; - --color-error-bg-hover: #f9c2d2; - --color-error-text: #f38ba8; - --color-success-border: #24ff94; - --color-success-bg: rgba(0, 230, 118, 0.15); - --color-success-text: #e6edf3; - --color-warning-border: #fdf7e8; - --color-warning-bg: #f9e2af; - --color-warning-text: #0a0a14; - --color-info-border: #c4d9fc; - --color-info-bg: #0a0a14; - --color-info-text: #e6edf3; - --color-red-badge: #e92f63; - --color-red-badge-bg: rgba(233, 47, 99, .1); - --color-red-badge-hover-bg: rgba(233, 47, 99, .2); - --color-green-badge: #00e676; - --color-green-badge-bg: rgba(0, 230, 118, .1); - --color-green-badge-hover-bg: rgba(0, 230, 118, .2); - --color-yellow-badge: #f5d180; - --color-yellow-badge-bg: rgba(245, 209, 128, .1); - --color-yellow-badge-hover-bg: rgba(245, 209, 128, .2); - --color-orange-badge: #f89456; - --color-orange-badge-bg: rgba(248, 148, 86, .1); - --color-orange-badge-hover-bg: rgba(248, 148, 86, .2); - --color-body: #0a0a14; - --color-text-dark: #e6edf3; - --color-text: #e6edf3; - --color-text-light: #ababba; - --color-text-light-1: #ababba; - --color-text-light-2: #ababba; - --color-text-light-3: #ababba; - --color-footer: rgba(7, 7, 14, 0.2); - --color-timeline: #161627; - --color-timeline-badge-fg: var(--color-white); - --color-box-header: #0e0e1b; - --color-box-body: #0a0a14; - --color-box-body-highlight: #0e0e1b; - --color-input-text: var(--color-text-dark); - --color-input-background: #0e0e1b; - --color-input-toggle-background: #0e0e1b; - --color-input-border: #161627; - --color-input-border-hover: #1b1b2d; - --color-light: #00001728; + + /* named color variants */ + --color-red-light: color-mix(in srgb, var(--color-red), #fff 22%); + --color-red-dark-1: color-mix(in srgb, var(--color-red), #000 15%); + --color-red-dark-2: color-mix(in srgb, var(--color-red), #000 30%); + --color-orange-light: color-mix(in srgb, var(--color-orange), #fff 22%); + --color-orange-dark-1: color-mix(in srgb, var(--color-orange), #000 15%); + --color-orange-dark-2: color-mix(in srgb, var(--color-orange), #000 30%); + --color-yellow-light: color-mix(in srgb, var(--color-yellow), #fff 22%); + --color-yellow-dark-1: color-mix(in srgb, var(--color-yellow), #000 15%); + --color-yellow-dark-2: color-mix(in srgb, var(--color-yellow), #000 30%); + --color-olive-light: color-mix(in srgb, var(--color-olive), #fff 22%); + --color-olive-dark-1: color-mix(in srgb, var(--color-olive), #000 15%); + --color-olive-dark-2: color-mix(in srgb, var(--color-olive), #000 30%); + --color-green-light: color-mix(in srgb, var(--color-green), #fff 22%); + --color-green-dark-1: color-mix(in srgb, var(--color-green), #000 15%); + --color-green-dark-2: color-mix(in srgb, var(--color-green), #000 30%); + --color-teal-light: color-mix(in srgb, var(--color-teal), #fff 22%); + --color-teal-dark-1: color-mix(in srgb, var(--color-teal), #000 15%); + --color-teal-dark-2: color-mix(in srgb, var(--color-teal), #000 30%); + --color-blue-light: color-mix(in srgb, var(--color-blue), #fff 22%); + --color-blue-dark-1: color-mix(in srgb, var(--color-blue), #000 15%); + --color-blue-dark-2: color-mix(in srgb, var(--color-blue), #000 30%); + --color-violet-light: color-mix(in srgb, var(--color-violet), #fff 22%); + --color-violet-dark-1: color-mix(in srgb, var(--color-violet), #000 15%); + --color-violet-dark-2: color-mix(in srgb, var(--color-violet), #000 30%); + --color-purple-light: color-mix(in srgb, var(--color-purple), #fff 22%); + --color-purple-dark-1: color-mix(in srgb, var(--color-purple), #000 15%); + --color-purple-dark-2: color-mix(in srgb, var(--color-purple), #000 30%); + --color-pink-light: color-mix(in srgb, var(--color-pink), #fff 22%); + --color-pink-dark-1: color-mix(in srgb, var(--color-pink), #000 15%); + --color-pink-dark-2: color-mix(in srgb, var(--color-pink), #000 30%); + --color-brown-light: color-mix(in srgb, var(--color-brown), #fff 22%); + --color-brown-dark-1: color-mix(in srgb, var(--color-brown), #000 15%); + --color-brown-dark-2: color-mix(in srgb, var(--color-brown), #000 30%); + --color-black-light: color-mix(in srgb, var(--color-black), #fff 22%); + --color-black-dark-1: color-mix(in srgb, var(--color-black), #000 15%); + --color-black-dark-2: color-mix(in srgb, var(--color-black), #000 30%); + + /* badges */ + --color-red-badge: var(--color-red); + --color-red-badge-bg: color-mix(in srgb, var(--color-red) 10%, transparent); + --color-red-badge-hover-bg: color-mix(in srgb, var(--color-red) 20%, transparent); + --color-green-badge: var(--color-green); + --color-green-badge-bg: color-mix(in srgb, var(--color-green) 10%, transparent); + --color-green-badge-hover-bg: color-mix(in srgb, var(--color-green) 20%, transparent); + --color-yellow-badge: var(--color-yellow); + --color-yellow-badge-bg: color-mix(in srgb, var(--color-yellow) 10%, transparent); + --color-yellow-badge-hover-bg: color-mix(in srgb, var(--color-yellow) 20%, transparent); + --color-orange-badge: var(--color-orange); + --color-orange-badge-bg: color-mix(in srgb, var(--color-orange) 10%, transparent); + --color-orange-badge-hover-bg: color-mix(in srgb, var(--color-orange) 20%, transparent); + + /* error interaction states */ + --color-error-bg-hover: color-mix(in srgb, var(--color-red), transparent 75%); + --color-error-bg-active: color-mix(in srgb, var(--color-red), transparent 65%); + + /* surfaces */ + --color-body: var(--gh-canvas); + --color-card: var(--gh-canvas); + --color-code-bg: var(--gh-canvas); + --color-box-header: var(--gh-canvas-subtle); + --color-box-body: var(--gh-canvas); + --color-box-body-highlight: var(--gh-canvas-subtle); + --color-secondary-bg: var(--gh-canvas-subtle); + --color-project-column-bg: var(--gh-canvas-subtle); + --color-menu: var(--gh-overlay); + --color-footer: var(--gh-canvas); + --color-timeline: var(--gh-border); + --color-timeline-badge-fg: var(--gh-fg-muted); + --color-expand-button: color-mix(in srgb, var(--gh-accent-fg), transparent 82%); + + /* text */ + --color-text-dark: var(--gh-fg); + --color-text: var(--gh-fg); + --color-text-light: var(--gh-fg-muted); + --color-text-light-1: var(--gh-fg-muted); + --color-text-light-2: var(--gh-fg-muted); + --color-text-light-3: var(--gh-fg-subtle); + --color-placeholder-text: var(--gh-fg-subtle); + --color-caret: var(--gh-fg); + + /* inputs */ + --color-input-text: var(--gh-fg); + --color-input-background: var(--gh-canvas); + --color-input-toggle-background: var(--gh-border); + --color-input-border: var(--gh-border); + --color-input-border-hover: var(--gh-border-strong); + + /* misc */ + --color-light: var(--gh-neutral-muted); --color-light-mimic-enabled: rgba(0, 0, 0, calc(40 / 255 * 222 / 255 / var(--opacity-disabled))); - --color-light-border: #1b1b2d; - --color-hover: rgba(27, 27, 45, 0.5); - --color-hover-opaque: #1b1b2d; - --color-active: #161627; - --color-menu: #0e0e1b; - --color-card: #0a0a14; - --color-markup-table-row: rgba(230, 237, 243, 0.02); - --color-markup-code-block: #0e0e1b; - --color-markup-code-inline: #0e0e1b; - --color-button: #0e0e1b; - --color-code-bg: #0a0a14; - --color-shadow: rgba(2, 2, 3, 0.5); - --color-shadow-opaque: #020203; - --color-shadow-rgb: 2, 2, 3; - --color-secondary-bg: #0e0e1b; - --color-expand-button: #1b1b2d; - --color-placeholder-text: #73738c; - --color-editor-line-highlight: var(--color-primary-light-5); - --color-project-column-bg: #020203; - --color-caret: var(--color-text); - --color-reaction-bg: rgba(26, 108, 234, .1); - --color-reaction-hover-bg: rgba(26, 108, 234, .2); - --color-reaction-active-bg: rgba(26, 108, 234, .05); - --color-tooltip-text: #e6edf3; - --color-tooltip-bg: #3d3d5c; - --color-overlay-backdrop: rgba(2, 2, 3, 0.8); - --color-nav-bg: #020203; - --color-nav-hover-bg: #161627; - --color-nav-text: var(--color-text); - --color-secondary-nav-bg: #020203; - --color-secondary-nav-hover-bg: #0e0e1b; - --color-label-text: var(--color-text); - --color-label-bg: #7282924b; - --color-label-hover-bg: #728292a0; - --color-label-active-bg: #728292ff; - --color-accent: #0f66f5; - --color-small-accent: var(--color-primary-light-5); - --color-highlight-fg: #f2c050; - --color-highlight-bg: #271c03; + --color-light-border: var(--gh-border); + --color-button: var(--gh-btn-bg); + --color-markup-table-row: var(--gh-canvas-subtle); + --color-markup-code-block: var(--gh-canvas-subtle); + --color-markup-code-inline: var(--gh-neutral-muted); + --color-reaction-bg: var(--gh-neutral-muted); + --color-reaction-hover-bg: var(--gh-accent-subtle); + --color-reaction-active-bg: var(--gh-accent-subtle); + --color-tooltip-text: #ffffff; + --color-nav-bg: var(--gh-header-bg); + --color-nav-hover-bg: var(--color-hover); + --color-nav-text: var(--gh-fg); + --color-secondary-nav-bg: var(--gh-header-bg); + --color-secondary-nav-hover-bg: var(--color-hover); + --color-label-text: var(--gh-fg); + --color-label-bg: var(--gh-neutral-muted); + --color-label-hover-bg: color-mix(in srgb, var(--gh-fg-subtle), transparent 70%); + --color-label-active-bg: color-mix(in srgb, var(--gh-fg-subtle), transparent 55%); + --color-git: #f05133; + + /* Actions log console — dark in both themes, like GitHub */ + --color-console-fg: #f0f6fc; + --color-console-fg-subtle: #9198a1; + --color-console-bg: #0d1117; + --color-console-border: #3d444d; + --color-console-hover-bg: #656c7633; + --color-console-active-bg: #656c7666; + --color-console-menu-bg: #151b23; + --color-console-menu-border: #3d444d; + --color-ansi-black: #484f58; + --color-ansi-red: #ff7b72; + --color-ansi-green: #3fb950; + --color-ansi-yellow: #d29922; + --color-ansi-blue: #58a6ff; + --color-ansi-magenta: #bc8cff; + --color-ansi-cyan: #39c5cf; + --color-ansi-white: var(--color-console-fg-subtle); + --color-ansi-bright-black: #6e7681; + --color-ansi-bright-red: #ffa198; + --color-ansi-bright-green: #56d364; + --color-ansi-bright-yellow: #e3b341; + --color-ansi-bright-blue: #79c0ff; + --color-ansi-bright-magenta: #d2a8ff; + --color-ansi-bright-cyan: #56d4dd; + --color-ansi-bright-white: var(--color-console-fg); } -/* dark-only emoji invert */ -.emoji[aria-label="check mark"]{ filter: invert(100%) hue-rotate(180deg); } - -.emoji[aria-label="currency exchange"]{ filter: invert(100%) hue-rotate(180deg); } - -.emoji[aria-label="TOP arrow"]{ filter: invert(100%) hue-rotate(180deg); } - -.emoji[aria-label="END arrow"]{ filter: invert(100%) hue-rotate(180deg); } - -.emoji[aria-label="ON! arrow"]{ filter: invert(100%) hue-rotate(180deg); } - -.emoji[aria-label="SOON arrow"]{ filter: invert(100%) hue-rotate(180deg); } - -.emoji[aria-label="heavy dollar sign"]{ filter: invert(100%) hue-rotate(180deg); } - -.emoji[aria-label="copyright"]{ filter: invert(100%) hue-rotate(180deg); } - -.emoji[aria-label="registered"]{ filter: invert(100%) hue-rotate(180deg); } - -.emoji[aria-label="trade mark"]{ filter: invert(100%) hue-rotate(180deg); } - -.emoji[aria-label="multiply"]{ filter: invert(100%) hue-rotate(180deg); } - -.emoji[aria-label="plus"]{ filter: invert(100%) hue-rotate(180deg); } - -.emoji[aria-label="minus"]{ filter: invert(100%) hue-rotate(180deg); } - -.emoji[aria-label="divide"]{ filter: invert(100%) hue-rotate(180deg); } - -.emoji[aria-label="curly loop"]{ filter: invert(100%) hue-rotate(180deg); } - -.emoji[aria-label="double curly loop"]{ filter: invert(100%) hue-rotate(180deg); } - -.emoji[aria-label="wavy dash"]{ filter: invert(100%) hue-rotate(180deg); } - -.emoji[aria-label="paw prints"]{ filter: invert(100%) hue-rotate(180deg); } - -.emoji[aria-label="musical note"]{ filter: invert(100%) hue-rotate(180deg); } - -.emoji[aria-label="musical notes"]{ filter: invert(100%) hue-rotate(180deg); } - -/* [dark] */ -.label.isSigned{ font-size: .857rem !important; margin: 0 .25em !important; padding: 0 !important; display: inline-flex !important; gap: 0 !important; border-radius: 16px !important; --color-light-border: rgba(0, 230, 118, 1) !important; --color-label-bg: none !important; --color-text: rgba(0, 230, 118, 1) !important; --color-green-badge-bg: none !important; --color-green-badge-hover-bg: rgba(0, 230, 118, 0.05) !important; --color-label-hover-bg: rgba(0, 230, 118, 0.05) !important; --color-label-text: rgba(0, 230, 118, 1) !important; --color-green-badge: rgba(0, 230, 118, 1) !important; } - -.label.isSigned .shortsha{ padding: 2px 6px 2px 8px !important; } - -.label.isSigned .ui.detail.icon.button{ opacity: 1 !important; padding: 2px 8px 2px 6px !important; margin: 0 !important; background: none !important; border-color: rgba(0, 230, 118, 1) !important; } - -.label.isSigned.isVerified .ui.detail.icon.button{ padding: 2px 8px 2px 6px !important; } - -/* [dark] */ -.markup input[type=checkbox]{ --color-input-background: #161627; } - -/* [dark] */ -.combo-markdown-editor .tab markdown-toolbar .markdown-toolbar-button:hover, .combo-markdown-editor .tab markdown-toolbar button:hover, .combo-markdown-editor .tab .EasyMDEContainer .editor-toolbar .markdown-toolbar-button:hover, .combo-markdown-editor .tab .EasyMDEContainer .editor-toolbar button:hover{ background-color: #161627 !important; } - -/* [dark] */ -.combo-markdown-editor .tab markdown-toolbar .markdown-toolbar-group:not(:last-child):after, .combo-markdown-editor .tab .EasyMDEContainer .editor-toolbar .markdown-toolbar-group:not(:last-child):after{ background-color: #1b1b2d; } - -/* [dark] */ -input:focus, textarea:focus, .ui.input > input:focus, .ui.form input:not([type]):focus, .ui.form textarea:focus, .ui.form input[type=text]:focus{ background-color: #07070e; } - -/* [dark] */ -.ui.button.red.basic{ border-color: rgba(243, 139, 168, 0.4); } - -/* [dark] */ -.ui.dropdown > .menu .scrolling.menu .item .item-check-mark{ background-color: #1b1b2d; border: 1px solid #52527a; } - -/* [dark] */ -.chroma .code-inner{ font: 14px ui-monospace, SFMono-Regular, "Source Code Pro", "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace, var(--fonts-emoji); } - -.chroma .bp{ color: #fab387; } - -.chroma .c{ color: #ababba; } - -.chroma .c1{ color: #ababba; } - -.chroma .ch{ color: #ababba; } - -.chroma .cm{ color: #ababba; } - -.chroma .cp{ color: #89b4fa; } - -.chroma .cpf{ color: #89b4fa; } - -.chroma .cs{ color: #ababba; } - -.chroma .dl{ color: #89b4fa; } - -.chroma .gh{ color: #94e2d5; } - -.chroma .go{ color: #fab387; } - -.chroma .gp{ color: #ababba; } - -.chroma .gr{ color: #f2cdcd; } - -.chroma .gt{ color: #f2cdcd; } - -.chroma .gu{ color: #94e2d5; } - -.chroma .il{ color: #fab387; } - -.chroma .k{ color: #9b6bf5; } - -.chroma .kc{ color: #f9e2af; } - -.chroma .kd{ color: #9b6bf5; } - -.chroma .kn{ color: #f9e2af; } - -.chroma .kp{ color: #9b6bf5; } - -.chroma .kr{ color: #9b6bf5; } - -.chroma .kt{ color: #f9e2af; } - -.chroma .m{ color: #fab387; } - -.chroma .mb{ color: #fab387; } - -.chroma .mf{ color: #fab387; } - -.chroma .mh{ color: #fab387; } - -.chroma .mi{ color: #fab387; } - -.chroma .mo{ color: #fab387; } - -.chroma .n{ color: #b4befe; } - -.chroma .na{ color: #f9e2af; } - -.chroma .nb{ color: #fab387; } - -.chroma .nc{ color: #f5c2e7; } - -.chroma .nd{ color: #f5c2e7; } - -.chroma .ne{ color: #f2cdcd; } - -.chroma .nf{ color: #89b4fa; } - -.chroma .ni{ color: #f5c2e7; } - -.chroma .nl{ color: #f9e2af; } - -.chroma .nn{ color: #f9e2af; } - -.chroma .no{ color: #f9e2af; } - -.chroma .nt{ color: #9b6bf5; } - -.chroma .nv{ color: #fab387; } - -.chroma .nx{ color: #fab387; } - -.chroma .o{ color: #94e2d5; } - -.chroma .ow{ color: #94e2d5; } - -.chroma .p{ color: #ababba; } - -.chroma .s{ color: #00e676; } - -.chroma .s1{ color: #00e676; } - -.chroma .s2{ color: #00e676; } - -.chroma .sa{ color: #00e676; } - -.chroma .sb{ color: #00e676; } - -.chroma .sc{ color: #00e676; } - -.chroma .sd{ color: #00e676; } - -.chroma .se{ color: #89b4fa; } - -.chroma .sh{ color: #00e676; } - -.chroma .si{ color: #00e676; } - -.chroma .sr{ color: #89b4fa; } - -.chroma .ss{ color: #00e676; } - -.chroma .sx{ color: #00e676; } - -.chroma .vc{ color: #f9e2af; } - -.chroma .vg{ color: #fab387; } - -.chroma .vi{ color: #f9e2af; } - -.chroma .w{ color: #52527a; } - -.chroma .bp{ color: #fab387; font-weight: 600; } - -.chroma .nb{ color: #fab387; font-weight: 600; } - -.chroma .k{ color: #9b6bf5; font-weight: 600; } - -.chroma .kd{ color: #9b6bf5; font-weight: 600; } - -.chroma .kp{ color: #9b6bf5; font-weight: 600; } - -.chroma .kr{ color: #9b6bf5; font-weight: 600; } - -.chroma .c{ color: #ababba; font-style: italic; } - -.chroma .c1{ color: #ababba; font-style: italic; } - -.chroma .ch{ color: #ababba; font-style: italic; } - -.chroma .cm{ color: #ababba; font-style: italic; } - -.chroma .ge{ font-style: italic; } - -.chroma .gd{ color: #e6edf3; background-color: rgba(#f38ba8, .25); } - -.chroma .gi{ color: #e6edf3; background-color: rgba(#00e676, 0.3); } - -.chroma .gp{ color: #ababba; font-weight: bold; } - -.chroma .gs{ font-weight: bold; } - -.chroma .ow{ color: #94e2d5; font-weight: bold; } - -/* [dark] */ -.CodeMirror .cm-property, .CodeMirror .cm-header, .CodeMirror .cm-def, .CodeMirror .cm-bracket{ color: #e6edf3; } - -.CodeMirror .cm-quote{ color: #00e676; } - -.CodeMirror .cm-keyword{ color: #9b6bf5; } - -.CodeMirror .cm-atom{ color: #f38ba8; } - -.CodeMirror .cm-number{ color: #fab387; } - -.CodeMirror .cm-variable-2{ color: #89b4fa; } - -.CodeMirror .cm-variable-3{ color: #94e2d5; } - -.CodeMirror .cm-comment{ color: #1b1b2d; } - -.CodeMirror .cm-string, .CodeMirror .cm-string-2{ color: #00e676; } - -.CodeMirror .cm-meta, .CodeMirror .cm-qualifier, .CodeMirror .cm-builtin{ color: #fab387; } - -.CodeMirror .cm-tag, .CodeMirror .cm-attribute{ color: #f9e2af; } - -.CodeMirror .cm-hr{ color: #73738c; } - -.CodeMirror .cm-url, .CodeMirror .cm-link{ color: #89b4fa; } - -.CodeMirror .cm-error{ color: #f38ba8; } - -/* [dark] */ -.monaco-editor{ --vscode-editor-background: #020203 !important; --vscode-editorGutter-background: #020203 !important; } - -.monaco-editor .selected-text{ background-color: #0e0e1b !important; } - -.monaco-editor .margin-view-overlays .line-numbers{ color: #ababba !important; } - -.monaco-editor .line-numbers.active-line-number{ color: #a6c6f7 !important; } - -.monaco-editor .view-overlays .current-line, .monaco-editor .margin-view-overlays .current-line-margin{ background-color: #07070e !important; } - -.monaco-editor .mtk1{ color: #e6edf3 !important; } - -.monaco-editor .mtk3{ color: #fab387 !important; } - -.monaco-editor .mtk4{ color: #94e2d5 !important; } - -.monaco-editor .mtk5{ color: #e6edf3 !important; } - -.monaco-editor .mtk6{ color: #9b6bf5 !important; } - -.monaco-editor .mtk7{ color: #fab387 !important; } - -.monaco-editor .mtk8{ color: #73738c !important; } - -.monaco-editor .mtk9{ color: #9b6bf5 !important; } - -.monaco-editor .mtk10{ color: #ababba !important; } - -.monaco-editor .mtk11{ color: #94e2d5 !important; } - -.monaco-editor .mtk12{ color: #94e2d5 !important; } - -.monaco-editor .mtk15{ color: #9b6bf5 !important; } - -.monaco-editor .mtk16{ color: #73738c !important; } - -.monaco-editor .mtk19{ color: #94e2d5 !important; } - -.monaco-editor .mtk21{ color: #00e676 !important; } - -.monaco-editor .mtk23{ color: #89b4fa !important; } - -.monaco-editor .mtk24{ color: #fab387 !important; } - -.monaco-editor .mtk25{ color: #f5c2e7 !important; } - -.monaco-editor .mtk2{ color: #ff69b4 !important; } - -.monaco-editor .mtk13{ color: #ff69b4 !important; } - -.monaco-editor .mtk14{ color: #ff69b4 !important; } - -.monaco-editor .mtk17{ color: #ff69b4 !important; } - -.monaco-editor .mtk18{ color: #ff69b4 !important; } - -.monaco-editor .mtk20{ color: #ff69b4 !important; } - -.monaco-editor .mtk22{ color: #ff69b4 !important; } +/* ============================================================ + GLOBAL + ============================================================ */ +::selection { background-color: var(--color-primary-alpha-30); } + +:is(a, button, summary, .ui.button, .ui.menu .item):focus-visible { + outline: 2px solid var(--color-accent); + outline-offset: -2px; +} + +#commits-table { --color-light: transparent !important; } + +/* ============================================================ + HEADER & NAVIGATION + ============================================================ */ +#navbar { border-bottom: 1px solid var(--color-secondary); } +#navbar .item { border-radius: var(--border-radius); } +#navbar #navbar-logo img { height: 20px !important; width: 56px !important; } + +/* GitHub UnderlineNav: coral bar under the active tab */ +.ui.secondary.pointing.menu :is(.active.item, .dropdown.item.active), +.ui.secondary.pointing.menu .active.item:hover { + border-color: var(--gh-underline-active); + font-weight: 600; +} + +.ui.menu { border-radius: var(--border-radius); } +.ui.menu > .item:first-child { border-radius: var(--border-radius) 0 0 var(--border-radius); } +.ui.menu.compact:not(.secondary) .item:last-child { border-radius: 0 var(--border-radius) var(--border-radius) 0; } +.ui.secondary.menu { gap: 4px; } +.ui.secondary.menu.vertical > .item { border: none; margin: 0 0 4px; border-radius: var(--border-radius) !important; } +.ui.secondary.menu :is(.dropdown.item, a.item).active:hover { color: var(--color-text); background: var(--color-hover); } +.ui.tabular.menu .active.item, +.ui.tabular.menu .active.item:hover { border-radius: var(--border-radius) var(--border-radius) 0 0 !important; } + +/* ============================================================ + BOXES / SEGMENTS + ============================================================ */ +.ui.segment { margin: 16px 0; padding: 16px; border-radius: var(--border-radius); } +.ui.segment form > :first-child { margin-top: 0; } +.ui.segment form > :last-child { margin-bottom: 0; } +.ui.top.attached.header { border-radius: var(--border-radius) var(--border-radius) 0 0; } + +.ui.attached.segment:is(:has(+ .ui[class*="top attached"].header), :has(+ .page.buttons), :last-child, :has(+ .ui.modal)), +.ui.segment:has(+ .ui.segment:not(.attached)) { + border-bottom-left-radius: var(--border-radius); + border-bottom-right-radius: var(--border-radius); +} + +.ui.segments > .segment:is(:first-child, :last-child) { border-radius: var(--border-radius); } + +.ui.modal { border-radius: var(--border-radius-medium); } +.ui.modal > :first-child { border-top-left-radius: var(--border-radius-medium); border-top-right-radius: var(--border-radius-medium); } +.ui.modal > :last-child { border-bottom-left-radius: var(--border-radius-medium); border-bottom-right-radius: var(--border-radius-medium); } + +/* ============================================================ + COMMENTS / TIMELINE + ============================================================ */ +.comment .content { background-color: var(--color-box-body); } +.comment .content > .comment-header::before, .comment .content > .comment-header::after, +.comment .content > .ui.segment::before, .comment .content > .ui.segment::after { display: none; } +.comment .content .comment-header { padding: 4px 4px 4px 16px !important; } +.comment .content .comment-header .comment-header-left .text { color: var(--color-text-light) !important; } +.comment .content .comment-header .comment-header-left .text .author { color: var(--color-text) !important; font-weight: 600; } +.comment .content .comment-header .comment-header-right * { color: var(--color-text-light) !important; } +.comment .content .comment-header .comment-header-right .label { height: 20px !important; padding: 0 7px !important; border-radius: 2em !important; } +.comment-list .comment > .content > div:first-child { border-top-left-radius: var(--border-radius) !important; border-top-right-radius: var(--border-radius) !important; } +.comment-list .comment > .content > div:last-child { border-bottom-left-radius: var(--border-radius) !important; border-bottom-right-radius: var(--border-radius) !important; } +.ui.comments .comment { margin: 4px 0 0; } + +/* ============================================================ + AVATARS & LABELS + ============================================================ */ +:is(img.ui.avatar, .ui.avatar img, .ui.avatar svg):not(.org-avatar) { border-radius: 50% !important; object-fit: cover; } + +.ui.label { border-radius: 2em; font-weight: 500; } +.ui.label.scope-left { border-top-right-radius: 0; border-bottom-right-radius: 0; } +.ui.label.scope-right { border-top-left-radius: 0; border-bottom-left-radius: 0; } +.ui.label.green { color: var(--color-green-contrast) !important; } +.ui.label.red { color: var(--color-red-contrast) !important; } + +/* Verified commit badge (outlined pill, like GitHub "Verified") */ +.label.isSigned { + --gh-sig: var(--gh-success-fg); + --gh-sig-hover: color-mix(in srgb, var(--gh-success-fg) 8%, transparent); + font-size: .857rem !important; + margin: 0 .25em !important; + padding: 0 !important; + display: inline-flex !important; + gap: 0 !important; + border-radius: 2em !important; + --color-light-border: var(--gh-sig) !important; + --color-label-bg: transparent !important; + --color-label-hover-bg: var(--gh-sig-hover) !important; + --color-label-text: var(--gh-sig) !important; + --color-text: var(--gh-sig) !important; + --color-green-badge: var(--gh-sig) !important; + --color-green-badge-bg: transparent !important; + --color-green-badge-hover-bg: var(--gh-sig-hover) !important; +} +.label.isSigned .shortsha { padding: 2px 6px 2px 8px !important; } +.label.isSigned .ui.detail.icon.button { + opacity: 1 !important; + padding: 2px 8px 2px 6px !important; + margin: 0 !important; + background: none !important; + border-color: var(--gh-sig) !important; +} + +/* ============================================================ + MARKDOWN + ============================================================ */ +.markup { line-height: 1.5; } +.markup p { line-height: 1.5 !important; } +.markup code { border-radius: var(--border-radius) !important; } + +.markup .task-list-item input[type=checkbox] { margin: 0 .5em .25em -1.4em; } +.markup input[type=checkbox] { --border-radius: 4px; --color-input-background: var(--gh-canvas); width: 16px; height: 16px; margin-right: 4px; } +.markup input[type=checkbox]:checked { background-color: var(--color-accent); border-color: var(--color-accent); } +.markup input[type=checkbox]::after { --color-text: var(--color-primary-contrast); } +.markup input[type=checkbox]:not([disabled]):is(:hover, :active) { border-color: var(--color-input-border-hover); } +.markup input[type=checkbox]:not([disabled]):is(:hover, :active):checked { background-color: var(--color-primary-hover); } + +/* ============================================================ + MARKDOWN EDITOR + ============================================================ */ +.combo-markdown-editor { border: 1px solid var(--color-secondary); border-radius: var(--border-radius); } +.combo-markdown-editor:focus-within { border-color: var(--color-accent); box-shadow: inset 0 0 0 1px var(--color-accent); } +.combo-markdown-editor textarea:focus { outline: none !important; box-shadow: none !important; } +.combo-markdown-editor .ui.tab.markup[data-tab-panel=markdown-previewer] { border-bottom: 0; } + +.combo-markdown-editor .top.tabular.menu { + background-color: var(--color-box-header); + border-radius: var(--border-radius) var(--border-radius) 0 0; + min-height: 0; + margin-bottom: 16px !important; +} +.combo-markdown-editor .top.tabular.menu .item { + margin: -1px 0 0 -1px; + border-top-left-radius: var(--border-radius) !important; + border-top-right-radius: var(--border-radius) !important; + padding: 8px 12px !important; + font-weight: 400; +} +.combo-markdown-editor .top.tabular.menu .item:hover { color: var(--color-text); } +.combo-markdown-editor .top.tabular.menu .item.active { color: var(--color-text); } +.combo-markdown-editor .top.tabular.menu .item.active::after { + content: ""; display: block; position: absolute; top: 100%; right: 0; + width: 100%; height: 1px; background-color: var(--color-body); +} + +.combo-markdown-editor .tab .EasyMDEContainer, +.combo-markdown-editor .tab .EasyMDEContainer .editor-toolbar { border: none !important; } +.combo-markdown-editor .tab :is(markdown-toolbar, .EasyMDEContainer .editor-toolbar) { padding: 0 10px !important; } +.combo-markdown-editor .tab :is(markdown-toolbar, .EasyMDEContainer .editor-toolbar) .markdown-toolbar-group { border: none !important; padding: 0 !important; } +.combo-markdown-editor .tab :is(markdown-toolbar, .EasyMDEContainer .editor-toolbar) .markdown-toolbar-group:not(:last-child)::after { background-color: var(--color-secondary); } +.combo-markdown-editor .tab :is(markdown-toolbar, .EasyMDEContainer .editor-toolbar) :is(.markdown-toolbar-button, button) { + display: inline-block; + line-height: 0; + height: auto; + min-width: fit-content; + padding: 6px !important; + color: var(--color-text-light-2) !important; + border-radius: var(--border-radius) !important; + transition: background-color .08s ease; +} +.combo-markdown-editor .tab :is(markdown-toolbar, .EasyMDEContainer .editor-toolbar) :is(.markdown-toolbar-button, button):hover { background-color: var(--color-hover) !important; color: var(--color-text) !important; } +.combo-markdown-editor .tab :is(markdown-toolbar, .EasyMDEContainer .editor-toolbar) :is(.markdown-toolbar-button, button)[aria-checked="true"] { background-color: var(--color-active); } +.combo-markdown-editor .tab :is(markdown-toolbar, .EasyMDEContainer .editor-toolbar) button::after { vertical-align: unset !important; } +.combo-markdown-editor .tab markdown-toolbar :is(.markdown-toolbar-button, button)[level] { width: 34px; } +.combo-markdown-editor .tab :is(textarea, .CodeMirror.cm-s-easymde.CodeMirror-wrap) { background-color: transparent !important; border: none !important; padding: 16px !important; } +.combo-markdown-editor .tab .editor-statusbar { margin-bottom: 0 !important; } +.combo-markdown-editor .tab.markup { padding: 0 16px 16px; } + +:is(#comment-form, .edit-content-zone, .comment-form, .comment-code-cloud form) { padding: 0 !important; border: none !important; } +:is(#comment-form, .edit-content-zone, .comment-form, .comment-code-cloud form) .field { margin-bottom: 16px !important; } + +/* ============================================================ + REPO FILE VIEW + ============================================================ */ +.non-diff-file-content .ui.segment.list-header { border-radius: var(--border-radius); margin-bottom: 16px !important; gap: 8px; padding: 8px 12px; } +.non-diff-file-content .ui.segment.list-header .latest-commit { gap: 8px; } +.non-diff-file-content .ui.segment.list-header .commit-summary { color: var(--color-text-light) !important; } +.non-diff-file-content .ui.segment.list-header .age { font-size: 12px; } +.non-diff-file-content .ui.top.attached.header { border-top-left-radius: var(--border-radius); border-top-right-radius: var(--border-radius); } +.non-diff-file-content .ui.top.attached.header .file-info { color: var(--color-text-light) !important; } +.non-diff-file-content .ui.top.attached.header .btn-octicon { --color-text: var(--color-text-light); } +.non-diff-file-content .ui.attached.segment:is(:has(+ .ui[class*="top attached"].header), :has(+ .page.buttons), :last-child, :has(+ .ui.modal)), +.non-diff-file-content .ui.segment:has(+ .ui.segment:not(.attached)) { + border-radius: 0 0 var(--border-radius) var(--border-radius); +} + +/* ============================================================ + FORMS + ============================================================ */ +:is(input, textarea, .ui.input > input, .ui.selection.dropdown), +.ui.form :is(input:not([type]), select, textarea, input:is([type=date], [type=datetime-local], [type=email], [type=file], [type=number], [type=password], [type=search], [type=tel], [type=text], [type=time], [type=url])) { + border-color: var(--color-input-border); + color: var(--color-input-text); + border-radius: var(--border-radius); + line-height: 20px; + padding: 5px 12px; +} +.ui.form :is(textarea, input:not([type]), input:is([type=date], [type=datetime-local], [type=email], [type=number], [type=password], [type=search], [type=tel], [type=time], [type=text], [type=file], [type=url])), +.ui.selection.dropdown { min-height: 32px; } + +:is(input, textarea, .ui.input > input, .ui.selection.dropdown):hover { border-color: var(--color-input-border); color: var(--color-input-text); } + +/* GitHub focus ring: accent border + 1px inset shadow, no outline */ +:is(input, textarea, .ui.input > input):focus, +.ui.form :is(input:not([type]), input[type=text], textarea):focus, +:is(input, textarea, .ui.input > input).active { + border-color: var(--color-accent); + border-radius: var(--border-radius); + color: var(--color-input-text); + background-color: var(--color-input-background); + outline: none; + box-shadow: inset 0 0 0 1px var(--color-accent); +} + +.ui.form .field > label { margin: 0 0 6px; font-size: 1rem; font-weight: 600; } +.ui.selection.dropdown > input { min-height: 0; } +.ui.selection.dropdown > input:focus, +.ui.selection.dropdown.active > input.search { outline: none; box-shadow: none; } +.ui.multiple.dropdown > .label, +.ui.multiple.search.dropdown > input.search { padding: 6px 12px; margin: 2px 4px 2px 0; } +.ui.multiple.search.dropdown > input.search { padding-left: 0; } +.ui.checkbox label, .ui.radio.checkbox label { margin-left: 20px !important; } + +/* ============================================================ + DROPDOWN MENUS (GitHub ActionMenu) + ============================================================ */ +.ui.dropdown > .menu { + opacity: 0; + overflow-x: hidden; + border-radius: var(--border-radius-medium) !important; + transition: opacity .15s ease !important; + box-shadow: var(--gh-shadow-overlay) !important; +} +.ui.dropdown > .menu.hidden { opacity: 0 !important; } +.ui.dropdown > .menu:is(.visible, .show) { opacity: 1 !important; } +.ui.dropdown > .menu .divider { margin-block: 8px !important; } + +.ui.dropdown > .menu .item:not(.comment-reaction-button) { + display: flex; + flex-wrap: wrap; + align-content: center; + width: auto; + margin: 0 8px !important; + padding: 6px 8px !important; + line-height: 1 !important; + border-radius: var(--border-radius) !important; +} +.ui.dropdown > .menu .item:not(.comment-reaction-button):first-of-type { margin-top: 8px !important; } +.ui.dropdown > .menu .item:not(.comment-reaction-button):is(:last-of-type, .clear-selection) { margin-bottom: 8px !important; } + +.ui.dropdown > .menu :is(input[type="text"], input[name="search"]) { min-height: 32px !important; padding: 0 8px !important; font-size: 1rem !important; border-radius: var(--border-radius) !important; } + +.ui.dropdown > .menu .scrolling.menu .item { gap: 8px !important; } +.ui.dropdown > .menu .scrolling.menu .item:hover::before { + content: ""; position: absolute; top: calc(50% - 12px); left: -8px; + width: 4px; height: 24px; border-radius: var(--border-radius); + background-color: var(--color-accent); +} +.ui.dropdown > .menu .scrolling.menu .item .item-check-mark { + visibility: visible !important; + display: inline-flex; + padding: 2px; + border-radius: var(--border-radius); + background-color: var(--color-input-background); + border: 1px solid var(--color-input-border-hover); +} +.ui.dropdown > .menu .scrolling.menu .item .item-check-mark svg { visibility: hidden; } +.ui.dropdown > .menu .scrolling.menu .item.checked .item-check-mark { background-color: var(--color-accent); border-color: var(--color-accent); color: #fff; } +.ui.dropdown > .menu .scrolling.menu .item.checked .item-check-mark svg { visibility: visible; } +.ui.dropdown > .menu .scrolling.menu .item .item-secondary-info { flex-basis: 100%; padding: 0 0 0 8px; color: var(--color-text-light); line-height: 100%; white-space: nowrap; overflow-x: hidden; } +.ui.dropdown > .menu .scrolling.menu .item .item-secondary-info small { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } + +.ui.dropdown:not(.upward) > .menu { top: calc(100% + 4px) !important; } +.ui.dropdown.upward > .menu { bottom: calc(100% + 4px) !important; } + +.ui.dropdown.selection, +.ui.dropdown.selection.active, +.ui.dropdown.upward.selection.visible, +.ui.dropdown.active.upward.selection { border-radius: var(--border-radius) !important; } +.ui.dropdown.selection.active, +.ui.dropdown.selection.active:hover, +.ui.dropdown.selection.active .menu, +.ui.dropdown.selection.active:hover .menu { border-color: var(--color-secondary) !important; } +.ui.dropdown.selection:is(:focus, .active) { border-color: var(--color-accent) !important; outline: none; box-shadow: inset 0 0 0 1px var(--color-accent); } +.ui.dropdown.selection > .menu { flex-direction: column; gap: 4px; border-radius: var(--border-radius-medium) !important; border-top-width: 1px !important; border-color: var(--color-secondary) !important; } +.ui.dropdown.selection > .menu.visible { display: flex; } +.ui.dropdown.selection > .menu .item { border: none !important; } + +/* ============================================================ + BUTTONS (GitHub Button) + ============================================================ */ +.ui.button { + min-height: 32px; + padding: 5px 16px; + font-size: 1rem; + font-weight: 500; + line-height: 20px; + border-radius: var(--border-radius); + box-shadow: var(--gh-shadow-resting); + transition: color .08s ease, background-color .08s ease, border-color .08s ease; +} +.ui.button.tiny { min-height: 0; font-size: .857rem; line-height: .857rem; } +.ui.button.basic { border-radius: var(--border-radius); } + +.ui.buttons .button { flex: 1 0 auto; margin: 0; border-radius: 0; border-right: none; } +.ui.buttons .button:first-child { border-radius: var(--border-radius) 0 0 var(--border-radius); } +.ui.buttons .button:last-child { border-radius: 0 var(--border-radius) var(--border-radius) 0; } + +/* primary = GitHub green */ +:is(.ui.primary.button, .ui.primary.buttons .button, .ui.green.button):not(.basic) { + background: var(--gh-btn-primary-bg); + border-color: var(--gh-btn-primary-border); + color: #ffffff; +} +:is(.ui.primary.button, .ui.primary.buttons .button, .ui.green.button):not(.basic):is(:hover, :focus-visible) { background: var(--gh-btn-primary-hover); color: #ffffff; } +:is(.ui.primary.button, .ui.primary.buttons .button, .ui.green.button):not(.basic):active { background: color-mix(in srgb, var(--gh-btn-primary-hover), #000 8%); } + +/* danger: neutral at rest, red on hover */ +.ui.button.red, +.ui.button.red.basic { + background: var(--gh-btn-bg); + border-color: var(--gh-border); + color: var(--gh-danger-fg); +} +.ui.button.red:hover, +.ui.button.red.basic:hover { + background: var(--gh-danger-emphasis); + border-color: var(--gh-btn-primary-border); + color: #ffffff; +} + +/* ============================================================ + SYNTAX HIGHLIGHTING — Chroma (GitHub prettylights) + ============================================================ */ +.chroma :is(.c, .c1, .ch, .cm, .cs, .go, .gp) { color: var(--syn-comment); } +.chroma :is(.c, .c1, .ch, .cm, .cs) { font-style: normal; } +.chroma :is(.k, .kd, .kn, .kp, .kr, .kt, .o, .ow, .cp) { color: var(--syn-keyword); } +.chroma :is(.kc, .m, .mb, .mf, .mh, .mi, .mo, .il, .nb, .bp, .no, .na, .nl, .ni, .ss, .se, .gh, .gu) { color: var(--syn-constant); } +.chroma :is(.nf, .fm, .nd) { color: var(--syn-entity); } +.chroma :is(.nc, .ne, .nv, .vc, .vg, .vi, .vm) { color: var(--syn-variable); } +.chroma .nt { color: var(--syn-tag); } +.chroma :is(.s, .s1, .s2, .sa, .sb, .sc, .sd, .sh, .sx, .dl, .cpf) { color: var(--syn-string); } +.chroma :is(.sr, .si) { color: var(--syn-regexp); } +.chroma :is(.gr, .gt, .err) { color: var(--syn-deleted-fg); } +.chroma .gi { color: var(--syn-inserted-fg); background-color: var(--syn-inserted-bg); } +.chroma .gd { color: var(--syn-deleted-fg); background-color: var(--syn-deleted-bg); } +.chroma .gh, .chroma .gs { font-weight: 600; } +.chroma .ge { font-style: italic; } +.chroma .w { color: var(--gh-fg-subtle); } + +/* ============================================================ + SYNTAX HIGHLIGHTING — CodeMirror 5 (EasyMDE) + ============================================================ */ +.CodeMirror :is(.cm-property, .cm-def, .cm-bracket) { color: var(--color-text); } +.CodeMirror :is(.cm-header, .cm-hr) { color: var(--syn-constant); } +.CodeMirror .cm-header { font-weight: 600; } +.CodeMirror .cm-keyword { color: var(--syn-keyword); } +.CodeMirror :is(.cm-atom, .cm-number, .cm-meta, .cm-qualifier, .cm-builtin, .cm-attribute) { color: var(--syn-constant); } +.CodeMirror :is(.cm-variable-2, .cm-variable-3) { color: var(--syn-variable); } +.CodeMirror :is(.cm-string, .cm-string-2, .cm-quote) { color: var(--syn-string); } +.CodeMirror .cm-tag { color: var(--syn-tag); } +.CodeMirror .cm-comment { color: var(--syn-comment); } +.CodeMirror :is(.cm-url, .cm-link) { color: var(--color-primary); } +.CodeMirror .cm-error { color: var(--syn-deleted-fg); } + +/* ============================================================ + SYNTAX HIGHLIGHTING — Monaco (web file editor) + ============================================================ */ +.monaco-editor { + --vscode-editor-background: var(--gh-canvas) !important; + --vscode-editorGutter-background: var(--gh-canvas) !important; +} +.monaco-editor .selected-text { background-color: var(--color-primary-alpha-20) !important; } +.monaco-editor .margin-view-overlays .line-numbers { color: var(--gh-fg-subtle) !important; } +.monaco-editor .line-numbers.active-line-number { color: var(--gh-fg) !important; } +.monaco-editor :is(.view-overlays .current-line, .margin-view-overlays .current-line-margin) { background-color: var(--gh-canvas-subtle) !important; } +.monaco-editor :is(.mtk1, .mtk5, .mtk2, .mtk13, .mtk14, .mtk17, .mtk18, .mtk20, .mtk22) { color: var(--gh-fg) !important; } +.monaco-editor :is(.mtk6, .mtk9, .mtk15) { color: var(--syn-keyword) !important; } +.monaco-editor :is(.mtk3, .mtk7, .mtk24) { color: var(--syn-constant) !important; } +.monaco-editor :is(.mtk4, .mtk11, .mtk12, .mtk19) { color: var(--syn-entity) !important; } +.monaco-editor :is(.mtk8, .mtk10, .mtk16) { color: var(--syn-comment) !important; } +.monaco-editor .mtk21 { color: var(--syn-string) !important; } +.monaco-editor .mtk23 { color: var(--syn-tag) !important; } +.monaco-editor .mtk25 { color: var(--syn-variable) !important; } + +/* ============================================================ + DARK ONLY — invert monochrome emoji that disappear on dark bg + ============================================================ */ +.emoji:is([aria-label="check mark"], [aria-label="currency exchange"], [aria-label="TOP arrow"], + [aria-label="END arrow"], [aria-label="ON! arrow"], [aria-label="SOON arrow"], + [aria-label="heavy dollar sign"], [aria-label="copyright"], [aria-label="registered"], + [aria-label="trade mark"], [aria-label="multiply"], [aria-label="plus"], [aria-label="minus"], + [aria-label="divide"], [aria-label="curly loop"], [aria-label="double curly loop"], + [aria-label="wavy dash"], [aria-label="paw prints"], [aria-label="musical note"], + [aria-label="musical notes"]) { filter: invert(100%) hue-rotate(180deg); } /* ========================================================= GITEA BRANDING / SYSTEM ELEMENTS — HIDE diff --git a/css/theme-light.css b/css/theme-light.css index 8fd498b..41dc978 100644 --- a/css/theme-light.css +++ b/css/theme-light.css @@ -1,800 +1,733 @@ -/* ===================== BASE (shared) ===================== */ +/* GitHub Light — GitHub-style theme for Gitea 1.27.x · requires color-mix() (Chrome 111+, Firefox 113+, Safari 16.2+) */ + +/* ============================================================ + BASE — typography & metrics (GitHub) + Gitea's own defaults (checkbox masks, emoji fonts, weights, + textarea height …) are inherited, not redefined. + ============================================================ */ :root { - --fonts-proportional: -apple-system, "Segoe UI", system-ui, "SF Pro Text", Inter, Roboto, "Helvetica Neue", Arial, sans-serif; - --fonts-monospace: ui-monospace, SFMono-Regular, "Source Code Pro", "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace, var(--fonts-emoji); - --fonts-emoji: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", "Twemoji Mozilla"; - --font-weight-light: 300; --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; - --line-height-default: normal; - --checkbox-mask-checked: url('data:image/svg+xml;utf8,'); - --checkbox-mask-indeterminate: url('data:image/svg+xml;utf8,'); - --octicon-chevron-right: url('data:image/svg+xml;utf8,'); - --border-radius: 8px; --border-radius-medium: 16px; --border-radius-full: calc(infinity * 1px); - --opacity-disabled: 0.55; --height-loading: 16rem; --min-height-textarea: 132px; --checkbox-size: 16px; - --page-spacing: 24px; --page-margin-x: 32px; --tab-size: 4; + --fonts-proportional: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif; + --fonts-monospace: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace, var(--fonts-emoji); + --border-radius: 6px; + --border-radius-medium: 12px; + --page-spacing: 24px; + --page-margin-x: 32px; +} +@media (768px <= width <= 1200px) { :root { --page-margin-x: 24px; } } +@media (width < 768px) { :root { --page-margin-x: 16px; } } + +/* ============================================================ + THEME TOKENS — GitHub Light + Only raw palette values live here; every derived shade, + alpha step and component rule below is computed from them. + ============================================================ */ +gitea-theme-meta-info { --theme-display-name: "GitHub Light"; } + +:root { + color-scheme: light; + accent-color: var(--color-accent); + --is-dark-theme: false; + + /* Primer primitives */ + --gh-canvas: #ffffff; + --gh-canvas-subtle: #f6f8fa; + --gh-overlay: #ffffff; + --gh-fg: #1f2328; + --gh-fg-muted: #59636e; + --gh-fg-subtle: #818b98; + --gh-border: #d1d9e0; + --gh-border-strong: #b7c0c9; + --gh-neutral-muted: #818b981f; + --gh-accent-fg: #0969da; + --gh-accent-emphasis: #0969da; + --gh-accent-subtle: #ddf4ff; + --gh-success-fg: #1a7f37; + --gh-danger-fg: #d1242f; + --gh-danger-emphasis: #cf222e; + --gh-underline-active: #fd8c73; + --gh-header-bg: #f6f8fa; + --gh-btn-bg: #f6f8fa; + --gh-btn-primary-bg: #1f883d; + --gh-btn-primary-hover: #1c8139; + --gh-btn-primary-border: #1f232826; + --gh-shadow-overlay: 0 1px 3px #1f23281f, 0 8px 24px #424a531f; + --gh-shadow-resting: 0 1px 0 #1f23280a; + --gh-mix-strong: #000000; /* direction of "-dark-N" shades */ + + /* Syntax (GitHub prettylights) */ + --syn-comment: #59636e; + --syn-constant: #0550ae; + --syn-entity: #6639ba; + --syn-keyword: #cf222e; + --syn-tag: #116329; + --syn-string: #0a3069; + --syn-variable: #953800; + --syn-regexp: #116329; + --syn-inserted-fg: #116329; + --syn-inserted-bg: #dafbe1; + --syn-deleted-fg: #82071e; + --syn-deleted-bg: #ffebe9; + + /* Named palette */ + --color-red: #cf222e; + --color-orange: #bc4c00; + --color-yellow: #bf8700; + --color-olive: #6c8a1a; + --color-green: #1a7f37; + --color-teal: #1b7c83; + --color-blue: #0969da; + --color-violet: #6639ba; + --color-purple: #8250df; + --color-pink: #bf3989; + --color-brown: #9a6700; + --color-black: #1f2328; + --color-white: #ffffff; + --color-grey: #6e7781; + --color-grey-light: #818b98; + --color-gold: #9a6700; + --color-green-contrast: #ffffff; + --color-red-contrast: #ffffff; + + /* Brand */ + --color-primary: var(--gh-accent-fg); + --color-primary-contrast: #ffffff; + --color-secondary: var(--gh-border); + --color-accent: var(--gh-accent-emphasis); + --color-small-accent: var(--gh-accent-subtle); + + /* Status */ + --color-error-border: #ff818266; + --color-error-bg: #ffebe9; + --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; + + /* Diff */ + --color-diff-added-row-bg: #e6ffec; + --color-diff-added-linenum-bg: #ccffd8; + --color-diff-added-row-border: #ccffd8; + --color-diff-added-word-bg: #abf2bc; + --color-diff-removed-row-bg: #ffebe9; + --color-diff-removed-linenum-bg: #ffd7d5; + --color-diff-removed-row-border: #ffd7d5; + --color-diff-removed-word-bg: #ff818266; + --color-diff-moved-row-bg: #fff8c5; + --color-diff-moved-row-border: #d4a72c66; + --color-diff-inactive: var(--gh-canvas-subtle); + + /* Surface-specific */ + --color-highlight-fg: #7d4e00; + --color-highlight-bg: #fff8c5; + --color-editor-line-highlight: #fff8c5; + --color-hover: #818b981a; + --color-hover-opaque: #eff2f5; + --color-active: #818b9833; + --color-shadow: #1f23281f; + --color-shadow-opaque: #d1d9e0; + --color-shadow-rgb: 31, 35, 40; + --color-tooltip-bg: #25292e; + --color-overlay-backdrop: #c8d1da80; } -@media (min-width: 768px) and (max-width: 1200px) { :root { --page-margin-x: 24px; } } - -@media (max-width: 767.98px) { :root { --page-margin-x: 16px; } } - -/* ===================== COLORS — LIGHT (default) ===================== */ +/* ============================================================ + DERIVED TOKENS — identical in both themes + Shades and alpha steps are generated with color-mix(), so a + palette change above propagates everywhere automatically. + ============================================================ */ :root { - accent-color: var(--color-accent); - color-scheme: light; - --is-dark-theme: false; - --color-primary: #6296e2; - --color-primary-contrast: #000000; - --color-primary-dark-1: #558de0; - --color-primary-dark-2: #4885dd; - --color-primary-dark-3: #3b7cdb; - --color-primary-dark-4: #3779da; - --color-primary-dark-5: #2361bb; - --color-primary-dark-6: #1f56a6; - --color-primary-dark-7: #1b4a90; - --color-primary-light-1: #6f9fe4; - --color-primary-light-2: #7ca7e7; - --color-primary-light-3: #8db3ea; - --color-primary-light-4: #a3c1ee; - --color-primary-light-5: #b8d0f2; - --color-primary-light-6: #e3ecfa; - --color-primary-light-7: #ffffff; - --color-primary-alpha-10: rgba(98, 150, 226, 0.1); - --color-primary-alpha-20: rgba(98, 150, 226, 0.2); - --color-primary-alpha-30: rgba(98, 150, 226, 0.3); - --color-primary-alpha-40: rgba(98, 150, 226, 0.4); - --color-primary-alpha-50: rgba(98, 150, 226, 0.5); - --color-primary-alpha-60: rgba(98, 150, 226, 0.6); - --color-primary-alpha-70: rgba(98, 150, 226, 0.7); - --color-primary-alpha-80: rgba(98, 150, 226, 0.8); - --color-primary-alpha-90: rgba(98, 150, 226, 0.9); - --color-primary-hover: var(--color-primary-light-1); - --color-primary-active: var(--color-primary-light-3); - --color-secondary: #bcc0cc; - --color-secondary-dark-1: #b3b8c5; - --color-secondary-dark-2: #abb0bf; - --color-secondary-dark-3: #a2a7b8; - --color-secondary-dark-4: #999fb2; - --color-secondary-dark-5: #9197ab; - --color-secondary-dark-6: #828aa0; - --color-secondary-dark-7: #747c95; - --color-secondary-dark-8: #676f88; - --color-secondary-dark-9: #5c6479; - --color-secondary-dark-10: #51586b; - --color-secondary-dark-11: #464c5c; - --color-secondary-dark-12: #3b404e; - --color-secondary-dark-13: #30343f; - --color-secondary-light-1: #c5c8d3; - --color-secondary-light-2: #cdd0d9; - --color-secondary-light-3: #d6d9e0; - --color-secondary-light-4: #dfe1e6; - --color-secondary-alpha-10: rgba(188, 192, 204, 0.1); - --color-secondary-alpha-20: rgba(188, 192, 204, 0.2); - --color-secondary-alpha-30: rgba(188, 192, 204, 0.3); - --color-secondary-alpha-40: rgba(188, 192, 204, 0.4); - --color-secondary-alpha-50: rgba(188, 192, 204, 0.5); - --color-secondary-alpha-60: rgba(188, 192, 204, 0.6); - --color-secondary-alpha-70: rgba(188, 192, 204, 0.7); - --color-secondary-alpha-80: rgba(188, 192, 204, 0.8); - --color-secondary-alpha-90: rgba(188, 192, 204, 0.9); + /* primary scale: "-dark-N" = more contrast vs. canvas, "-light-N" = closer to canvas */ + --color-primary-dark-1: color-mix(in srgb, var(--color-primary), var(--gh-mix-strong) 6%); + --color-primary-dark-2: color-mix(in srgb, var(--color-primary), var(--gh-mix-strong) 12%); + --color-primary-dark-3: color-mix(in srgb, var(--color-primary), var(--gh-mix-strong) 18%); + --color-primary-dark-4: color-mix(in srgb, var(--color-primary), var(--gh-mix-strong) 24%); + --color-primary-dark-5: color-mix(in srgb, var(--color-primary), var(--gh-mix-strong) 32%); + --color-primary-dark-6: color-mix(in srgb, var(--color-primary), var(--gh-mix-strong) 40%); + --color-primary-dark-7: color-mix(in srgb, var(--color-primary), var(--gh-mix-strong) 48%); + --color-primary-light-1: color-mix(in srgb, var(--color-primary), var(--gh-canvas) 10%); + --color-primary-light-2: color-mix(in srgb, var(--color-primary), var(--gh-canvas) 20%); + --color-primary-light-3: color-mix(in srgb, var(--color-primary), var(--gh-canvas) 30%); + --color-primary-light-4: color-mix(in srgb, var(--color-primary), var(--gh-canvas) 45%); + --color-primary-light-5: color-mix(in srgb, var(--color-primary), var(--gh-canvas) 60%); + --color-primary-light-6: color-mix(in srgb, var(--color-primary), var(--gh-canvas) 85%); + --color-primary-light-7: color-mix(in srgb, var(--color-primary), var(--gh-canvas) 95%); + --color-primary-hover: var(--color-primary-dark-1); + --color-primary-active: var(--color-primary-dark-2); + --color-primary-alpha-10: color-mix(in srgb, var(--color-primary) 10%, transparent); + --color-primary-alpha-20: color-mix(in srgb, var(--color-primary) 20%, transparent); + --color-primary-alpha-30: color-mix(in srgb, var(--color-primary) 30%, transparent); + --color-primary-alpha-40: color-mix(in srgb, var(--color-primary) 40%, transparent); + --color-primary-alpha-50: color-mix(in srgb, var(--color-primary) 50%, transparent); + --color-primary-alpha-60: color-mix(in srgb, var(--color-primary) 60%, transparent); + --color-primary-alpha-70: color-mix(in srgb, var(--color-primary) 70%, transparent); + --color-primary-alpha-80: color-mix(in srgb, var(--color-primary) 80%, transparent); + --color-primary-alpha-90: color-mix(in srgb, var(--color-primary) 90%, transparent); + + /* secondary (border) scale: "-dark-N" walks toward text, "-light-N" toward canvas */ + --color-secondary-dark-1: color-mix(in srgb, var(--color-secondary), var(--gh-fg) 6%); + --color-secondary-dark-2: color-mix(in srgb, var(--color-secondary), var(--gh-fg) 13%); + --color-secondary-dark-3: color-mix(in srgb, var(--color-secondary), var(--gh-fg) 20%); + --color-secondary-dark-4: color-mix(in srgb, var(--color-secondary), var(--gh-fg) 26%); + --color-secondary-dark-5: color-mix(in srgb, var(--color-secondary), var(--gh-fg) 32%); + --color-secondary-dark-6: color-mix(in srgb, var(--color-secondary), var(--gh-fg) 39%); + --color-secondary-dark-7: color-mix(in srgb, var(--color-secondary), var(--gh-fg) 46%); + --color-secondary-dark-8: color-mix(in srgb, var(--color-secondary), var(--gh-fg) 52%); + --color-secondary-dark-9: color-mix(in srgb, var(--color-secondary), var(--gh-fg) 58%); + --color-secondary-dark-10: color-mix(in srgb, var(--color-secondary), var(--gh-fg) 65%); + --color-secondary-dark-11: color-mix(in srgb, var(--color-secondary), var(--gh-fg) 72%); + --color-secondary-dark-12: color-mix(in srgb, var(--color-secondary), var(--gh-fg) 78%); + --color-secondary-dark-13: color-mix(in srgb, var(--color-secondary), var(--gh-fg) 84%); + --color-secondary-light-1: color-mix(in srgb, var(--color-secondary), var(--gh-canvas) 20%); + --color-secondary-light-2: color-mix(in srgb, var(--color-secondary), var(--gh-canvas) 40%); + --color-secondary-light-3: color-mix(in srgb, var(--color-secondary), var(--gh-canvas) 60%); + --color-secondary-light-4: color-mix(in srgb, var(--color-secondary), var(--gh-canvas) 80%); + --color-secondary-alpha-10: color-mix(in srgb, var(--color-secondary) 10%, transparent); + --color-secondary-alpha-20: color-mix(in srgb, var(--color-secondary) 20%, transparent); + --color-secondary-alpha-30: color-mix(in srgb, var(--color-secondary) 30%, transparent); + --color-secondary-alpha-40: color-mix(in srgb, var(--color-secondary) 40%, transparent); + --color-secondary-alpha-50: color-mix(in srgb, var(--color-secondary) 50%, transparent); + --color-secondary-alpha-60: color-mix(in srgb, var(--color-secondary) 60%, transparent); + --color-secondary-alpha-70: color-mix(in srgb, var(--color-secondary) 70%, transparent); + --color-secondary-alpha-80: color-mix(in srgb, var(--color-secondary) 80%, transparent); + --color-secondary-alpha-90: color-mix(in srgb, var(--color-secondary) 90%, transparent); --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: #f7f8f9; - --color-console-fg-subtle: #bdc4cc; - --color-console-bg: #171b1e; - --color-console-border: #2e353b; - --color-console-hover-bg: #272d33; - --color-console-active-bg: #2e353b; - --color-console-menu-bg: #262b31; - --color-console-menu-border: #414b55; - --color-red: #d20f39; - --color-orange: #fe640b; - --color-yellow: #df8e1d; - --color-olive: #e2f095; - --color-green: #34ac56; - --color-teal: #179299; - --color-blue: #1e66f5; - --color-violet: #7287fd; - --color-purple: #8652e7; - --color-pink: #ea76cb; - --color-brown: #dd7878; - --color-black: #181825; - --color-white: #e6edf3; - --color-green-contrast: var(--color-white); - --color-red-contrast: var(--color-white); - --color-red-light: #ef2550; - --color-orange-light: #fe843e; - --color-yellow-light: #e7a548; - --color-olive-light: #eef6c2; - --color-green-light: #4bc86e; - --color-teal-light: #1ebcc5; - --color-blue-light: #4f87f7; - --color-violet-light: #a4b2fe; - --color-purple-light: #a57fed; - --color-pink-light: #f1a2dc; - --color-brown-light: #e7a1a1; - --color-black-light: #ffffff; - --color-red-dark-1: #a20c2c; - --color-orange-dark-1: #d54f01; - --color-yellow-dark-1: #b27117; - --color-olive-dark-1: #d6ea68; - --color-green-dark-1: #288542; - --color-teal-dark-1: #10686d; - --color-blue-dark-1: #0a4ed6; - --color-violet-dark-1: #405cfc; - --color-purple-dark-1: #6725e1; - --color-pink-dark-1: #e34aba; - --color-brown-dark-1: #d34f4f; - --color-black-dark-1: #c4d4e2; - --color-red-dark-2: #73081f; - --color-orange-dark-2: #a23c01; - --color-yellow-dark-2: #855511; - --color-olive-dark-2: #cae33c; - --color-green-dark-2: #1c5e2f; - --color-teal-dark-2: #0a3d40; - --color-blue-dark-2: #073ca6; - --color-violet-dark-2: #0d31fc; - --color-purple-dark-2: #511ab9; - --color-pink-dark-2: #d921a8; - --color-brown-dark-2: #bf3030; - --color-black-dark-2: #a1bbd2; - --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: #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-grey: #717a9f; - --color-grey-light: #565b77; - --color-gold: #855511; - --color-white: #e6edf3; - --color-git: #f05133; - --color-diff-added-linenum-bg: rgba(230, 237, 243, .2); - --color-diff-added-row-bg: rgba(114, 212, 142, .25); - --color-diff-added-row-border: rgba(133, 218, 157, .25); - --color-diff-added-word-bg: rgba(59, 195, 98, .3); - --color-diff-moved-row-bg: rgba(237, 187, 117, .25); - --color-diff-moved-row-border: rgba(240, 198, 140, .25); - --color-diff-removed-linenum-bg: rgba(230, 237, 243, .2); - --color-diff-removed-row-bg: rgba(246, 132, 156, .15); - --color-diff-removed-row-border: rgba(248, 156, 175, .2); - --color-diff-removed-word-bg: rgba(245, 108, 137, .2); - --color-diff-inactive: red; - --color-error-border: #d20f39; - --color-error-bg: rgba(210, 15, 57, 0.15); - --color-error-bg-active: #ee1241; - --color-error-bg-hover: #f02e58; - --color-error-text: #d20f39; - --color-success-border: #52cb75; - --color-success-bg: rgba(52, 172, 86, 0.15); - --color-success-text: #484b60; - --color-warning-border: #e8a951; - --color-warning-bg: #df8e1d; - --color-warning-text: #eff1f5; - --color-info-border: #598ef8; - --color-info-bg: #eff1f5; - --color-info-text: #484b60; - --color-red-badge: #73081f; - --color-red-badge-bg: rgba(115, 8, 31, .1); - --color-red-badge-hover-bg: rgba(115, 8, 31, .2); - --color-green-badge: #34ac56; - --color-green-badge-bg: rgba(52, 172, 86, .1); - --color-green-badge-hover-bg: rgba(52, 172, 86, .2); - --color-yellow-badge: #b27117; - --color-yellow-badge-bg: rgba(178, 113, 23, .1); - --color-yellow-badge-hover-bg: rgba(178, 113, 23, .2); - --color-orange-badge: #d54f01; - --color-orange-badge-bg: rgba(213, 79, 1, .1); - --color-orange-badge-hover-bg: rgba(213, 79, 1, .2); - --color-body: #eff1f5; - --color-text-dark: #484b60; - --color-text: #484b60; - --color-text-light: #656c90; - --color-text-light-1: #656c90; - --color-text-light-2: #656c90; - --color-text-light-3: #656c90; - --color-footer: rgba(246, 247, 249, 0.2); - --color-timeline: #d7dce6; - --color-timeline-badge-fg: var(--color-text); - --color-box-header: #e6e9ef; - --color-box-body: #eff1f5; - --color-box-body-highlight: #e6e9ef; - --color-input-text: var(--color-text-dark); - --color-input-background: #e6e9ef; - --color-input-toggle-background: #e6e9ef; - --color-input-border: #d7dce6; - --color-input-border-hover: #bcc0cc; - --color-light: #00001728; + + /* named color variants */ + --color-red-light: color-mix(in srgb, var(--color-red), #fff 22%); + --color-red-dark-1: color-mix(in srgb, var(--color-red), #000 15%); + --color-red-dark-2: color-mix(in srgb, var(--color-red), #000 30%); + --color-orange-light: color-mix(in srgb, var(--color-orange), #fff 22%); + --color-orange-dark-1: color-mix(in srgb, var(--color-orange), #000 15%); + --color-orange-dark-2: color-mix(in srgb, var(--color-orange), #000 30%); + --color-yellow-light: color-mix(in srgb, var(--color-yellow), #fff 22%); + --color-yellow-dark-1: color-mix(in srgb, var(--color-yellow), #000 15%); + --color-yellow-dark-2: color-mix(in srgb, var(--color-yellow), #000 30%); + --color-olive-light: color-mix(in srgb, var(--color-olive), #fff 22%); + --color-olive-dark-1: color-mix(in srgb, var(--color-olive), #000 15%); + --color-olive-dark-2: color-mix(in srgb, var(--color-olive), #000 30%); + --color-green-light: color-mix(in srgb, var(--color-green), #fff 22%); + --color-green-dark-1: color-mix(in srgb, var(--color-green), #000 15%); + --color-green-dark-2: color-mix(in srgb, var(--color-green), #000 30%); + --color-teal-light: color-mix(in srgb, var(--color-teal), #fff 22%); + --color-teal-dark-1: color-mix(in srgb, var(--color-teal), #000 15%); + --color-teal-dark-2: color-mix(in srgb, var(--color-teal), #000 30%); + --color-blue-light: color-mix(in srgb, var(--color-blue), #fff 22%); + --color-blue-dark-1: color-mix(in srgb, var(--color-blue), #000 15%); + --color-blue-dark-2: color-mix(in srgb, var(--color-blue), #000 30%); + --color-violet-light: color-mix(in srgb, var(--color-violet), #fff 22%); + --color-violet-dark-1: color-mix(in srgb, var(--color-violet), #000 15%); + --color-violet-dark-2: color-mix(in srgb, var(--color-violet), #000 30%); + --color-purple-light: color-mix(in srgb, var(--color-purple), #fff 22%); + --color-purple-dark-1: color-mix(in srgb, var(--color-purple), #000 15%); + --color-purple-dark-2: color-mix(in srgb, var(--color-purple), #000 30%); + --color-pink-light: color-mix(in srgb, var(--color-pink), #fff 22%); + --color-pink-dark-1: color-mix(in srgb, var(--color-pink), #000 15%); + --color-pink-dark-2: color-mix(in srgb, var(--color-pink), #000 30%); + --color-brown-light: color-mix(in srgb, var(--color-brown), #fff 22%); + --color-brown-dark-1: color-mix(in srgb, var(--color-brown), #000 15%); + --color-brown-dark-2: color-mix(in srgb, var(--color-brown), #000 30%); + --color-black-light: color-mix(in srgb, var(--color-black), #fff 22%); + --color-black-dark-1: color-mix(in srgb, var(--color-black), #000 15%); + --color-black-dark-2: color-mix(in srgb, var(--color-black), #000 30%); + + /* badges */ + --color-red-badge: var(--color-red); + --color-red-badge-bg: color-mix(in srgb, var(--color-red) 10%, transparent); + --color-red-badge-hover-bg: color-mix(in srgb, var(--color-red) 20%, transparent); + --color-green-badge: var(--color-green); + --color-green-badge-bg: color-mix(in srgb, var(--color-green) 10%, transparent); + --color-green-badge-hover-bg: color-mix(in srgb, var(--color-green) 20%, transparent); + --color-yellow-badge: var(--color-yellow); + --color-yellow-badge-bg: color-mix(in srgb, var(--color-yellow) 10%, transparent); + --color-yellow-badge-hover-bg: color-mix(in srgb, var(--color-yellow) 20%, transparent); + --color-orange-badge: var(--color-orange); + --color-orange-badge-bg: color-mix(in srgb, var(--color-orange) 10%, transparent); + --color-orange-badge-hover-bg: color-mix(in srgb, var(--color-orange) 20%, transparent); + + /* error interaction states */ + --color-error-bg-hover: color-mix(in srgb, var(--color-red), transparent 75%); + --color-error-bg-active: color-mix(in srgb, var(--color-red), transparent 65%); + + /* surfaces */ + --color-body: var(--gh-canvas); + --color-card: var(--gh-canvas); + --color-code-bg: var(--gh-canvas); + --color-box-header: var(--gh-canvas-subtle); + --color-box-body: var(--gh-canvas); + --color-box-body-highlight: var(--gh-canvas-subtle); + --color-secondary-bg: var(--gh-canvas-subtle); + --color-project-column-bg: var(--gh-canvas-subtle); + --color-menu: var(--gh-overlay); + --color-footer: var(--gh-canvas); + --color-timeline: var(--gh-border); + --color-timeline-badge-fg: var(--gh-fg-muted); + --color-expand-button: color-mix(in srgb, var(--gh-accent-fg), transparent 82%); + + /* text */ + --color-text-dark: var(--gh-fg); + --color-text: var(--gh-fg); + --color-text-light: var(--gh-fg-muted); + --color-text-light-1: var(--gh-fg-muted); + --color-text-light-2: var(--gh-fg-muted); + --color-text-light-3: var(--gh-fg-subtle); + --color-placeholder-text: var(--gh-fg-subtle); + --color-caret: var(--gh-fg); + + /* inputs */ + --color-input-text: var(--gh-fg); + --color-input-background: var(--gh-canvas); + --color-input-toggle-background: var(--gh-border); + --color-input-border: var(--gh-border); + --color-input-border-hover: var(--gh-border-strong); + + /* misc */ + --color-light: var(--gh-neutral-muted); --color-light-mimic-enabled: rgba(0, 0, 0, calc(40 / 255 * 222 / 255 / var(--opacity-disabled))); - --color-light-border: #bcc0cc; - --color-hover: rgba(188, 192, 204, 0.5); - --color-hover-opaque: #bcc0cc; - --color-active: #d7dce6; - --color-menu: #e6e9ef; - --color-card: #eff1f5; - --color-markup-table-row: rgba(72, 75, 96, 0.02); - --color-markup-code-block: #e6e9ef; - --color-markup-code-inline: #e6e9ef; - --color-button: #e6e9ef; - --color-code-bg: #eff1f5; - --color-shadow: rgba(188, 192, 204, 0.5); - --color-shadow-opaque: #bcc0cc; - --color-shadow-rgb: 188, 192, 204; - --color-secondary-bg: #e6e9ef; - --color-expand-button: #bcc0cc; - --color-placeholder-text: #717a9f; - --color-editor-line-highlight: var(--color-primary-light-5); - --color-project-column-bg: #fcfcfd; - --color-caret: var(--color-text); - --color-reaction-bg: rgba(27, 74, 144, .1); - --color-reaction-hover-bg: rgba(27, 74, 144, .2); - --color-reaction-active-bg: rgba(27, 74, 144, .05); - --color-tooltip-text: #fcfcfd; - --color-tooltip-bg: #656c90; - --color-overlay-backdrop: rgba(252, 252, 253, 0.8); - --color-nav-bg: #e6e9ef; - --color-nav-hover-bg: #d7dce6; - --color-nav-text: var(--color-text); - --color-secondary-nav-bg: #e6e9ef; - --color-secondary-nav-hover-bg: #d7dce6; - --color-label-text: var(--color-text); - --color-label-bg: #7282924b; - --color-label-hover-bg: #728292a0; - --color-label-active-bg: #728292ff; - --color-accent: #06338d; - --color-small-accent: var(--color-primary-light-5); - --color-highlight-fg: #855511; - --color-highlight-bg: #000000; + --color-light-border: var(--gh-border); + --color-button: var(--gh-btn-bg); + --color-markup-table-row: var(--gh-canvas-subtle); + --color-markup-code-block: var(--gh-canvas-subtle); + --color-markup-code-inline: var(--gh-neutral-muted); + --color-reaction-bg: var(--gh-neutral-muted); + --color-reaction-hover-bg: var(--gh-accent-subtle); + --color-reaction-active-bg: var(--gh-accent-subtle); + --color-tooltip-text: #ffffff; + --color-nav-bg: var(--gh-header-bg); + --color-nav-hover-bg: var(--color-hover); + --color-nav-text: var(--gh-fg); + --color-secondary-nav-bg: var(--gh-header-bg); + --color-secondary-nav-hover-bg: var(--color-hover); + --color-label-text: var(--gh-fg); + --color-label-bg: var(--gh-neutral-muted); + --color-label-hover-bg: color-mix(in srgb, var(--gh-fg-subtle), transparent 70%); + --color-label-active-bg: color-mix(in srgb, var(--gh-fg-subtle), transparent 55%); + --color-git: #f05133; + + /* Actions log console — dark in both themes, like GitHub */ + --color-console-fg: #f0f6fc; + --color-console-fg-subtle: #9198a1; + --color-console-bg: #0d1117; + --color-console-border: #3d444d; + --color-console-hover-bg: #656c7633; + --color-console-active-bg: #656c7666; + --color-console-menu-bg: #151b23; + --color-console-menu-border: #3d444d; + --color-ansi-black: #484f58; + --color-ansi-red: #ff7b72; + --color-ansi-green: #3fb950; + --color-ansi-yellow: #d29922; + --color-ansi-blue: #58a6ff; + --color-ansi-magenta: #bc8cff; + --color-ansi-cyan: #39c5cf; + --color-ansi-white: var(--color-console-fg-subtle); + --color-ansi-bright-black: #6e7681; + --color-ansi-bright-red: #ffa198; + --color-ansi-bright-green: #56d364; + --color-ansi-bright-yellow: #e3b341; + --color-ansi-bright-blue: #79c0ff; + --color-ansi-bright-magenta: #d2a8ff; + --color-ansi-bright-cyan: #56d4dd; + --color-ansi-bright-white: var(--color-console-fg); +} + +/* ============================================================ + GLOBAL + ============================================================ */ +::selection { background-color: var(--color-primary-alpha-30); } + +:is(a, button, summary, .ui.button, .ui.menu .item):focus-visible { + outline: 2px solid var(--color-accent); + outline-offset: -2px; } -/* ===================== INLINE THEME RULES ===================== */ #commits-table { --color-light: transparent !important; } +/* ============================================================ + HEADER & NAVIGATION + ============================================================ */ +#navbar { border-bottom: 1px solid var(--color-secondary); } +#navbar .item { border-radius: var(--border-radius); } #navbar #navbar-logo img { height: 20px !important; width: 56px !important; } -.markup code { border-radius: 6px !important; } +/* GitHub UnderlineNav: coral bar under the active tab */ +.ui.secondary.pointing.menu :is(.active.item, .dropdown.item.active), +.ui.secondary.pointing.menu .active.item:hover { + border-color: var(--gh-underline-active); + font-weight: 600; +} -.markup p { line-height: 1.5 !important; } +.ui.menu { border-radius: var(--border-radius); } +.ui.menu > .item:first-child { border-radius: var(--border-radius) 0 0 var(--border-radius); } +.ui.menu.compact:not(.secondary) .item:last-child { border-radius: 0 var(--border-radius) var(--border-radius) 0; } +.ui.secondary.menu { gap: 4px; } +.ui.secondary.menu.vertical > .item { border: none; margin: 0 0 4px; border-radius: var(--border-radius) !important; } +.ui.secondary.menu :is(.dropdown.item, a.item).active:hover { color: var(--color-text); background: var(--color-hover); } +.ui.tabular.menu .active.item, +.ui.tabular.menu .active.item:hover { border-radius: var(--border-radius) var(--border-radius) 0 0 !important; } -::selection { background-color: var(--color-primary-alpha-60); color: var(--color-primary-contrast); } - -/* ===================== COMPONENTS ===================== */ - -/* ---------- segment ---------- */ +/* ============================================================ + BOXES / SEGMENTS + ============================================================ */ .ui.segment { margin: 16px 0; padding: 16px; border-radius: var(--border-radius); } - -.ui.segment form > *:first-child { margin-top: 0; } - -.ui.segment form > *:last-child { margin-bottom: 0; } - +.ui.segment form > :first-child { margin-top: 0; } +.ui.segment form > :last-child { margin-bottom: 0; } .ui.top.attached.header { border-radius: var(--border-radius) var(--border-radius) 0 0; } -.ui.attached.segment:has(+ .ui[class*="top attached"].header), .ui.attached.segment:has(+ .page.buttons), .ui.attached.segment:last-child, .ui.segment:has(+ .ui.segment:not(.attached)), .ui.attached.segment:has(+ .ui.modal) { border-bottom-left-radius: var(--border-radius); border-bottom-right-radius: var(--border-radius); } +.ui.attached.segment:is(:has(+ .ui[class*="top attached"].header), :has(+ .page.buttons), :last-child, :has(+ .ui.modal)), +.ui.segment:has(+ .ui.segment:not(.attached)) { + border-bottom-left-radius: var(--border-radius); + border-bottom-right-radius: var(--border-radius); +} -.ui.segments:not(.horizontal) > .segment:first-child, .ui.segments.horizontal > .segment:first-child { border-radius: var(--border-radius); } +.ui.segments > .segment:is(:first-child, :last-child) { border-radius: var(--border-radius); } -.ui.segments:not(.horizontal) > .segment:last-child, .ui.horizontal.segments > .segment:last-child { border-radius: var(--border-radius); } +.ui.modal { border-radius: var(--border-radius-medium); } +.ui.modal > :first-child { border-top-left-radius: var(--border-radius-medium); border-top-right-radius: var(--border-radius-medium); } +.ui.modal > :last-child { border-bottom-left-radius: var(--border-radius-medium); border-bottom-right-radius: var(--border-radius-medium); } -/* ---------- comments ---------- */ +/* ============================================================ + COMMENTS / TIMELINE + ============================================================ */ .comment .content { background-color: var(--color-box-body); } - -.comment .content > .comment-header:before, .comment .content > .comment-header:after, .comment .content > .ui.segment:before, .comment .content > .ui.segment:after { display: none; } - +.comment .content > .comment-header::before, .comment .content > .comment-header::after, +.comment .content > .ui.segment::before, .comment .content > .ui.segment::after { display: none; } .comment .content .comment-header { padding: 4px 4px 4px 16px !important; } - .comment .content .comment-header .comment-header-left .text { color: var(--color-text-light) !important; } - -.comment .content .comment-header .comment-header-left .text .author { color: var(--color-text) !important; } - +.comment .content .comment-header .comment-header-left .text .author { color: var(--color-text) !important; font-weight: 600; } .comment .content .comment-header .comment-header-right * { color: var(--color-text-light) !important; } - -.comment .content .comment-header .comment-header-right .label { height: 20px !important; padding: 0 6px !important; border-radius: 16px !important; } - -.comment-list .comment > .content > div:last-child { border-bottom-left-radius: var(--border-radius) !important; border-bottom-right-radius: var(--border-radius) !important; } - +.comment .content .comment-header .comment-header-right .label { height: 20px !important; padding: 0 7px !important; border-radius: 2em !important; } .comment-list .comment > .content > div:first-child { border-top-left-radius: var(--border-radius) !important; border-top-right-radius: var(--border-radius) !important; } - +.comment-list .comment > .content > div:last-child { border-bottom-left-radius: var(--border-radius) !important; border-bottom-right-radius: var(--border-radius) !important; } .ui.comments .comment { margin: 4px 0 0; } -/* ---------- avatar ---------- */ -img.ui.avatar:not(.org-avatar), .ui.avatar img:not(.org-avatar), .ui.avatar svg:not(.org-avatar) { border-radius: 50% !important; object-fit: fill; } - -/* ---------- labels ---------- */ -.ui.label { border-radius: 20px; } +/* ============================================================ + AVATARS & LABELS + ============================================================ */ +:is(img.ui.avatar, .ui.avatar img, .ui.avatar svg):not(.org-avatar) { border-radius: 50% !important; object-fit: cover; } +.ui.label { border-radius: 2em; font-weight: 500; } .ui.label.scope-left { border-top-right-radius: 0; border-bottom-right-radius: 0; } - .ui.label.scope-right { border-top-left-radius: 0; border-bottom-left-radius: 0; } - .ui.label.green { color: var(--color-green-contrast) !important; } - .ui.label.red { color: var(--color-red-contrast) !important; } -/* ---------- markup ---------- */ +/* Verified commit badge (outlined pill, like GitHub "Verified") */ +.label.isSigned { + --gh-sig: var(--gh-success-fg); + --gh-sig-hover: color-mix(in srgb, var(--gh-success-fg) 8%, transparent); + font-size: .857rem !important; + margin: 0 .25em !important; + padding: 0 !important; + display: inline-flex !important; + gap: 0 !important; + border-radius: 2em !important; + --color-light-border: var(--gh-sig) !important; + --color-label-bg: transparent !important; + --color-label-hover-bg: var(--gh-sig-hover) !important; + --color-label-text: var(--gh-sig) !important; + --color-text: var(--gh-sig) !important; + --color-green-badge: var(--gh-sig) !important; + --color-green-badge-bg: transparent !important; + --color-green-badge-hover-bg: var(--gh-sig-hover) !important; +} +.label.isSigned .shortsha { padding: 2px 6px 2px 8px !important; } +.label.isSigned .ui.detail.icon.button { + opacity: 1 !important; + padding: 2px 8px 2px 6px !important; + margin: 0 !important; + background: none !important; + border-color: var(--gh-sig) !important; +} + +/* ============================================================ + MARKDOWN + ============================================================ */ +.markup { line-height: 1.5; } +.markup p { line-height: 1.5 !important; } +.markup code { border-radius: var(--border-radius) !important; } + .markup .task-list-item input[type=checkbox] { margin: 0 .5em .25em -1.4em; } +.markup input[type=checkbox] { --border-radius: 4px; --color-input-background: var(--gh-canvas); width: 16px; height: 16px; margin-right: 4px; } +.markup input[type=checkbox]:checked { background-color: var(--color-accent); border-color: var(--color-accent); } +.markup input[type=checkbox]::after { --color-text: var(--color-primary-contrast); } +.markup input[type=checkbox]:not([disabled]):is(:hover, :active) { border-color: var(--color-input-border-hover); } +.markup input[type=checkbox]:not([disabled]):is(:hover, :active):checked { background-color: var(--color-primary-hover); } -.markup input[type=checkbox] { --border-radius: 4px; width: 16px; height: 16px; margin-right: 4px; } - -.markup input[type=checkbox]:checked { background-color: var(--color-primary); } - -.markup input[type=checkbox]:after { --color-text: var(--color-primary-contrast); } - -.markup input[type=checkbox]:not([disabled]):hover, .markup input[type=checkbox]:not([disabled]):active { border-color: var(--color-secondary); } - -.markup input[type=checkbox]:not([disabled]):hover:checked, .markup input[type=checkbox]:not([disabled]):active:checked { background-color: var(--color-primary-hover); } - -/* ---------- editor ---------- */ +/* ============================================================ + MARKDOWN EDITOR + ============================================================ */ .combo-markdown-editor { border: 1px solid var(--color-secondary); border-radius: var(--border-radius); } - -.combo-markdown-editor:focus-within { outline: 2px solid var(--color-accent); border-radius: var(--border-radius); } - -.combo-markdown-editor textarea:focus { outline: none !important; } - +.combo-markdown-editor:focus-within { border-color: var(--color-accent); box-shadow: inset 0 0 0 1px var(--color-accent); } +.combo-markdown-editor textarea:focus { outline: none !important; box-shadow: none !important; } .combo-markdown-editor .ui.tab.markup[data-tab-panel=markdown-previewer] { border-bottom: 0; } -.combo-markdown-editor .top.tabular.menu { background-color: var(--color-box-header); border-radius: var(--border-radius) var(--border-radius) 0 0; min-height: 0; margin-bottom: 16px !important; } - -.combo-markdown-editor .top.tabular.menu .item { margin: -1px 0 0 -1px; border-top-left-radius: var(--border-radius) !important; border-top-right-radius: var(--border-radius) !important; padding: 8px 12px !important; font-weight: 400; } - -.combo-markdown-editor .top.tabular.menu .item:hover { color: var(--color-text-light-2); } - +.combo-markdown-editor .top.tabular.menu { + background-color: var(--color-box-header); + border-radius: var(--border-radius) var(--border-radius) 0 0; + min-height: 0; + margin-bottom: 16px !important; +} +.combo-markdown-editor .top.tabular.menu .item { + margin: -1px 0 0 -1px; + border-top-left-radius: var(--border-radius) !important; + border-top-right-radius: var(--border-radius) !important; + padding: 8px 12px !important; + font-weight: 400; +} +.combo-markdown-editor .top.tabular.menu .item:hover { color: var(--color-text); } .combo-markdown-editor .top.tabular.menu .item.active { color: var(--color-text); } +.combo-markdown-editor .top.tabular.menu .item.active::after { + content: ""; display: block; position: absolute; top: 100%; right: 0; + width: 100%; height: 1px; background-color: var(--color-body); +} -.combo-markdown-editor .top.tabular.menu .item.active:after { display: block; content: ''; position: absolute; top: 100%; right: 0; width: 100%; height: 1px; background-color: var(--color-body); } - -.combo-markdown-editor .tab .EasyMDEContainer { border: none !important; } - +.combo-markdown-editor .tab .EasyMDEContainer, .combo-markdown-editor .tab .EasyMDEContainer .editor-toolbar { border: none !important; } - -.combo-markdown-editor .tab markdown-toolbar, .combo-markdown-editor .tab .EasyMDEContainer .editor-toolbar { padding: 0 10px !important; } - -.combo-markdown-editor .tab markdown-toolbar .markdown-toolbar-group, .combo-markdown-editor .tab .EasyMDEContainer .editor-toolbar .markdown-toolbar-group { border: none !important; padding: 0 !important; } - -.combo-markdown-editor .tab markdown-toolbar .markdown-toolbar-button, .combo-markdown-editor .tab markdown-toolbar button, .combo-markdown-editor .tab .EasyMDEContainer .editor-toolbar .markdown-toolbar-button, .combo-markdown-editor .tab .EasyMDEContainer .editor-toolbar button { line-height: 0; display: inline-block; color: var(--color-text-light-2) !important; padding: 6px !important; transition: background-color .1s ease; border-radius: 6px !important; height: auto; min-width: fit-content; } - -.combo-markdown-editor .tab markdown-toolbar .markdown-toolbar-button[level], .combo-markdown-editor .tab markdown-toolbar button[level] { width: 34px; } - -.combo-markdown-editor .tab markdown-toolbar .markdown-toolbar-button[aria-checked="true"], .combo-markdown-editor .tab markdown-toolbar button[aria-checked="true"], .combo-markdown-editor .tab .EasyMDEContainer .editor-toolbar .markdown-toolbar-button[aria-checked="true"], .combo-markdown-editor .tab .EasyMDEContainer .editor-toolbar button[aria-checked="true"] { background-color: var(--color-button); } - -.combo-markdown-editor .tab markdown-toolbar button:after, .combo-markdown-editor .tab .EasyMDEContainer .editor-toolbar button:after { vertical-align: unset !important; } - -.combo-markdown-editor .tab textarea, .combo-markdown-editor .tab .CodeMirror.cm-s-easymde.CodeMirror-wrap { background-color: transparent !important; border: none !important; padding: 16px 16px !important; } - +.combo-markdown-editor .tab :is(markdown-toolbar, .EasyMDEContainer .editor-toolbar) { padding: 0 10px !important; } +.combo-markdown-editor .tab :is(markdown-toolbar, .EasyMDEContainer .editor-toolbar) .markdown-toolbar-group { border: none !important; padding: 0 !important; } +.combo-markdown-editor .tab :is(markdown-toolbar, .EasyMDEContainer .editor-toolbar) .markdown-toolbar-group:not(:last-child)::after { background-color: var(--color-secondary); } +.combo-markdown-editor .tab :is(markdown-toolbar, .EasyMDEContainer .editor-toolbar) :is(.markdown-toolbar-button, button) { + display: inline-block; + line-height: 0; + height: auto; + min-width: fit-content; + padding: 6px !important; + color: var(--color-text-light-2) !important; + border-radius: var(--border-radius) !important; + transition: background-color .08s ease; +} +.combo-markdown-editor .tab :is(markdown-toolbar, .EasyMDEContainer .editor-toolbar) :is(.markdown-toolbar-button, button):hover { background-color: var(--color-hover) !important; color: var(--color-text) !important; } +.combo-markdown-editor .tab :is(markdown-toolbar, .EasyMDEContainer .editor-toolbar) :is(.markdown-toolbar-button, button)[aria-checked="true"] { background-color: var(--color-active); } +.combo-markdown-editor .tab :is(markdown-toolbar, .EasyMDEContainer .editor-toolbar) button::after { vertical-align: unset !important; } +.combo-markdown-editor .tab markdown-toolbar :is(.markdown-toolbar-button, button)[level] { width: 34px; } +.combo-markdown-editor .tab :is(textarea, .CodeMirror.cm-s-easymde.CodeMirror-wrap) { background-color: transparent !important; border: none !important; padding: 16px !important; } .combo-markdown-editor .tab .editor-statusbar { margin-bottom: 0 !important; } - .combo-markdown-editor .tab.markup { padding: 0 16px 16px; } -#comment-form, .edit-content-zone, .comment-form, .comment-code-cloud form { padding: 0 !important; border: none !important; } +:is(#comment-form, .edit-content-zone, .comment-form, .comment-code-cloud form) { padding: 0 !important; border: none !important; } +:is(#comment-form, .edit-content-zone, .comment-form, .comment-code-cloud form) .field { margin-bottom: 16px !important; } -#comment-form .field, .edit-content-zone .field, .comment-form .field, .comment-code-cloud form .field { margin-bottom: 16px !important; } - -/* ---------- file content ---------- */ +/* ============================================================ + REPO FILE VIEW + ============================================================ */ .non-diff-file-content .ui.segment.list-header { border-radius: var(--border-radius); margin-bottom: 16px !important; gap: 8px; padding: 8px 12px; } - .non-diff-file-content .ui.segment.list-header .latest-commit { gap: 8px; } - .non-diff-file-content .ui.segment.list-header .commit-summary { color: var(--color-text-light) !important; } - .non-diff-file-content .ui.segment.list-header .age { font-size: 12px; } - .non-diff-file-content .ui.top.attached.header { border-top-left-radius: var(--border-radius); border-top-right-radius: var(--border-radius); } - .non-diff-file-content .ui.top.attached.header .file-info { color: var(--color-text-light) !important; } - .non-diff-file-content .ui.top.attached.header .btn-octicon { --color-text: var(--color-text-light); } +.non-diff-file-content .ui.attached.segment:is(:has(+ .ui[class*="top attached"].header), :has(+ .page.buttons), :last-child, :has(+ .ui.modal)), +.non-diff-file-content .ui.segment:has(+ .ui.segment:not(.attached)) { + border-radius: 0 0 var(--border-radius) var(--border-radius); +} -.non-diff-file-content .ui.attached.segment:has(+ .ui[class*="top attached"].header), .non-diff-file-content .ui.attached.segment:has(+ .page.buttons), .non-diff-file-content .ui.attached.segment:last-child, .non-diff-file-content .ui.segment:has(+ .ui.segment:not(.attached)), .non-diff-file-content .ui.attached.segment:has(+ .ui.modal) { border-top-left-radius: 0; border-top-right-radius: 0; border-bottom-left-radius: var(--border-radius); border-bottom-right-radius: var(--border-radius); } +/* ============================================================ + FORMS + ============================================================ */ +:is(input, textarea, .ui.input > input, .ui.selection.dropdown), +.ui.form :is(input:not([type]), select, textarea, input:is([type=date], [type=datetime-local], [type=email], [type=file], [type=number], [type=password], [type=search], [type=tel], [type=text], [type=time], [type=url])) { + border-color: var(--color-input-border); + color: var(--color-input-text); + border-radius: var(--border-radius); + line-height: 20px; + padding: 5px 12px; +} +.ui.form :is(textarea, input:not([type]), input:is([type=date], [type=datetime-local], [type=email], [type=number], [type=password], [type=search], [type=tel], [type=time], [type=text], [type=file], [type=url])), +.ui.selection.dropdown { min-height: 32px; } -/* ---------- forms: input ---------- */ -input, textarea, .ui.input > input, .ui.selection.dropdown { border-color: var(--color-input-border); color: var(--color-input-text); border-radius: var(--border-radius); line-height: 20px; padding: calc(6px - 1px) 12px; } +:is(input, textarea, .ui.input > input, .ui.selection.dropdown):hover { border-color: var(--color-input-border); color: var(--color-input-text); } -.ui.form input:not([type]), .ui.form select, .ui.form textarea, .ui.form input[type=date], .ui.form input[type=datetime-local], .ui.form input[type=email], .ui.form input[type=file], .ui.form input[type=number], .ui.form input[type=password], .ui.form input[type=search], .ui.form input[type=tel], .ui.form input[type=text], .ui.form input[type=time], .ui.form input[type=url] { border-color: var(--color-input-border); color: var(--color-input-text); border-radius: var(--border-radius); line-height: 20px; padding: calc(6px - 1px) 12px; } - -input:hover, textarea:hover, .ui.input > input:hover, .ui.selection.dropdown:hover { border-color: var(--color-input-border); color: var(--color-input-text); } +/* GitHub focus ring: accent border + 1px inset shadow, no outline */ +:is(input, textarea, .ui.input > input):focus, +.ui.form :is(input:not([type]), input[type=text], textarea):focus, +:is(input, textarea, .ui.input > input).active { + border-color: var(--color-accent); + border-radius: var(--border-radius); + color: var(--color-input-text); + background-color: var(--color-input-background); + outline: none; + box-shadow: inset 0 0 0 1px var(--color-accent); +} .ui.form .field > label { margin: 0 0 6px; font-size: 1rem; font-weight: 600; } - -.ui.form textarea, .ui.form input:not([type]), .ui.form input[type=date], .ui.form input[type=datetime-local], .ui.form input[type=email], .ui.form input[type=number], .ui.form input[type=password], .ui.form input[type=search], .ui.form input[type=tel], .ui.form input[type=time], .ui.form input[type=text], .ui.form input[type=file], .ui.form input[type=url] { min-height: 2.71428571em; } - -.ui.selection.dropdown { min-height: 2.71428571em; } - .ui.selection.dropdown > input { min-height: 0; } - -.ui.selection.dropdown > input:focus { outline: none; } - -.ui.multiple.dropdown > .label, .ui.multiple.search.dropdown > input.search { padding: 6px 12px; margin: .14285714rem .28571429rem .14285714rem 0; } - +.ui.selection.dropdown > input:focus, +.ui.selection.dropdown.active > input.search { outline: none; box-shadow: none; } +.ui.multiple.dropdown > .label, +.ui.multiple.search.dropdown > input.search { padding: 6px 12px; margin: 2px 4px 2px 0; } .ui.multiple.search.dropdown > input.search { padding-left: 0; } - .ui.checkbox label, .ui.radio.checkbox label { margin-left: 20px !important; } -input:focus, textarea:focus, .ui.input > input:focus, .ui.form input:not([type]):focus, .ui.form textarea:focus, .ui.form input[type=text]:focus { border-radius: var(--border-radius); border-color: var(--color-input-border); color: var(--color-input-text); outline: 2px solid var(--color-accent); } - -input.active, textarea.active, .ui.input > input.active, .ui.selection.dropdown.active { border-radius: var(--border-radius); outline: 2px solid var(--color-accent); } - -.ui.selection.dropdown.active > input.search { outline: none; } - -/* ---------- forms: dropdown menu ---------- */ -.ui.dropdown > .menu { opacity: 0; overflow-x: hidden; border-radius: var(--border-radius) !important; transition: opacity .2s ease !important; box-shadow: 0 6px 12px -3px rgba(var(--color-shadow-rgb), 0.5), 0 6px 18px 0 rgba(var(--color-shadow-rgb), 0.1) !important; } - +/* ============================================================ + DROPDOWN MENUS (GitHub ActionMenu) + ============================================================ */ +.ui.dropdown > .menu { + opacity: 0; + overflow-x: hidden; + border-radius: var(--border-radius-medium) !important; + transition: opacity .15s ease !important; + box-shadow: var(--gh-shadow-overlay) !important; +} .ui.dropdown > .menu.hidden { opacity: 0 !important; } +.ui.dropdown > .menu:is(.visible, .show) { opacity: 1 !important; } +.ui.dropdown > .menu .divider { margin-block: 8px !important; } -.ui.dropdown > .menu.visible, .ui.dropdown > .menu.show { opacity: 1 !important; } - -.ui.dropdown > .menu .divider { margin-top: 8px !important; margin-bottom: 8px !important; } - -.ui.dropdown > .menu .item:not(.comment-reaction-button) { margin: 0 8px !important; border-radius: 6px !important; padding: 6px 8px !important; line-height: 1 !important; display: flex; flex-wrap: wrap; align-content: center; width: auto; } - +.ui.dropdown > .menu .item:not(.comment-reaction-button) { + display: flex; + flex-wrap: wrap; + align-content: center; + width: auto; + margin: 0 8px !important; + padding: 6px 8px !important; + line-height: 1 !important; + border-radius: var(--border-radius) !important; +} .ui.dropdown > .menu .item:not(.comment-reaction-button):first-of-type { margin-top: 8px !important; } +.ui.dropdown > .menu .item:not(.comment-reaction-button):is(:last-of-type, .clear-selection) { margin-bottom: 8px !important; } -.ui.dropdown > .menu .item:not(.comment-reaction-button):last-of-type { margin-bottom: 8px !important; } - -.ui.dropdown > .menu .item:not(.comment-reaction-button).clear-selection { margin-bottom: 8px !important; } - -.ui.dropdown > .menu input[type="text"], .ui.dropdown > .menu input[name="search"] { min-height: 32px !important; padding: 0 8px !important; font-size: 1rem !important; border-radius: 6px !important; } - -.ui.dropdown > .menu input[type="text"]:focus, .ui.dropdown > .menu input[name="search"]:focus { --color-primary: var(--color-accent); } +.ui.dropdown > .menu :is(input[type="text"], input[name="search"]) { min-height: 32px !important; padding: 0 8px !important; font-size: 1rem !important; border-radius: var(--border-radius) !important; } .ui.dropdown > .menu .scrolling.menu .item { gap: 8px !important; } - -.ui.dropdown > .menu .scrolling.menu .item:hover:before { position: absolute; top: calc(50% - 12px); left: -8px; width: 4px; height: 24px; content: ""; background-color: var(--color-accent); border-radius: 6px; } - -.ui.dropdown > .menu .scrolling.menu .item .item-check-mark { visibility: visible !important; display: inline-flex; padding: 2px; border-radius: 6px; } - +.ui.dropdown > .menu .scrolling.menu .item:hover::before { + content: ""; position: absolute; top: calc(50% - 12px); left: -8px; + width: 4px; height: 24px; border-radius: var(--border-radius); + background-color: var(--color-accent); +} +.ui.dropdown > .menu .scrolling.menu .item .item-check-mark { + visibility: visible !important; + display: inline-flex; + padding: 2px; + border-radius: var(--border-radius); + background-color: var(--color-input-background); + border: 1px solid var(--color-input-border-hover); +} .ui.dropdown > .menu .scrolling.menu .item .item-check-mark svg { visibility: hidden; } - +.ui.dropdown > .menu .scrolling.menu .item.checked .item-check-mark { background-color: var(--color-accent); border-color: var(--color-accent); color: #fff; } +.ui.dropdown > .menu .scrolling.menu .item.checked .item-check-mark svg { visibility: visible; } .ui.dropdown > .menu .scrolling.menu .item .item-secondary-info { flex-basis: 100%; padding: 0 0 0 8px; color: var(--color-text-light); line-height: 100%; white-space: nowrap; overflow-x: hidden; } - .ui.dropdown > .menu .scrolling.menu .item .item-secondary-info small { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } -.ui.dropdown > .menu .scrolling.menu .item.checked .item-check-mark { background-color: var(--color-accent); } - -.ui.dropdown > .menu .scrolling.menu .item.checked .item-check-mark svg { visibility: visible; } - -.ui.dropdown:not(.upward) > .menu { top: calc(100% + 8px) !important; } - -.ui.dropdown.upward > .menu { bottom: calc(100% + 8px) !important; } - -.ui.dropdown.upward.selection.visible, .ui.dropdown.active.upward.selection { border-radius: var(--border-radius) !important; } - -.ui.dropdown.selection.active, .ui.dropdown.selection.active:hover, .ui.dropdown.selection.active .menu, .ui.dropdown.selection.active:hover .menu { border-color: var(--color-secondary) !important; } - -.ui.dropdown.selection { border-radius: var(--border-radius) !important; } - -.ui.dropdown.selection:focus, .ui.dropdown.selection.active { border-color: var(--color-secondary) !important; outline: 2px solid var(--color-accent); } - -.ui.dropdown.selection.active { border-radius: var(--border-radius) !important; } - -.ui.dropdown.selection > .menu { border-radius: var(--border-radius) !important; border-top-width: 1px !important; border-color: var(--color-secondary) !important; flex-direction: column; gap: 4px; } +.ui.dropdown:not(.upward) > .menu { top: calc(100% + 4px) !important; } +.ui.dropdown.upward > .menu { bottom: calc(100% + 4px) !important; } +.ui.dropdown.selection, +.ui.dropdown.selection.active, +.ui.dropdown.upward.selection.visible, +.ui.dropdown.active.upward.selection { border-radius: var(--border-radius) !important; } +.ui.dropdown.selection.active, +.ui.dropdown.selection.active:hover, +.ui.dropdown.selection.active .menu, +.ui.dropdown.selection.active:hover .menu { border-color: var(--color-secondary) !important; } +.ui.dropdown.selection:is(:focus, .active) { border-color: var(--color-accent) !important; outline: none; box-shadow: inset 0 0 0 1px var(--color-accent); } +.ui.dropdown.selection > .menu { flex-direction: column; gap: 4px; border-radius: var(--border-radius-medium) !important; border-top-width: 1px !important; border-color: var(--color-secondary) !important; } .ui.dropdown.selection > .menu.visible { display: flex; } - .ui.dropdown.selection > .menu .item { border: none !important; } -/* ---------- forms: menu ---------- */ -.ui.menu { border-radius: var(--border-radius); } - -.ui.menu > .item:first-child { border-radius: var(--border-radius) 0 0 var(--border-radius); } - -.ui.menu.compact:not(.secondary) .item:last-child { border-radius: 0 var(--border-radius) var(--border-radius) 0; } - -.ui.secondary.menu { gap: 4px; } - -.ui.secondary.menu.vertical > .item { border: none; margin: 0 0 4px 0; border-radius: var(--border-radius) !important; } - -.ui.secondary.menu .dropdown.item.active:hover, .ui.secondary.menu a.item.active:hover { color: var(--color-text); background: var(--color-hover); } - -.ui.tabular.menu .active.item, .ui.tabular.menu .active.item:hover { border-radius: var(--border-radius) var(--border-radius) 0 0 !important; } - -/* ---------- buttons ---------- */ -.ui.buttons .button:first-child { border-top-left-radius: var(--border-radius); border-bottom-left-radius: var(--border-radius); border-top-right-radius: 0; border-bottom-right-radius: 0; } - -.ui.buttons .button:last-child { border-top-right-radius: var(--border-radius); border-bottom-right-radius: var(--border-radius); border-top-left-radius: 0; border-bottom-left-radius: 0; } - -.ui.buttons .button { border-right: none; flex: 1 0 auto; border-radius: 0; margin: 0; } - -.ui.button { border-radius: var(--border-radius); transition: color .1s ease, background-color .1s ease, border-color .1s ease; padding: calc(6px - 1px) 16px; font-size: 1rem; line-height: 20px; } - -.ui.button.tiny { font-size: .857rem; line-height: .857rem; } - +/* ============================================================ + BUTTONS (GitHub Button) + ============================================================ */ +.ui.button { + min-height: 32px; + padding: 5px 16px; + font-size: 1rem; + font-weight: 500; + line-height: 20px; + border-radius: var(--border-radius); + box-shadow: var(--gh-shadow-resting); + transition: color .08s ease, background-color .08s ease, border-color .08s ease; +} +.ui.button.tiny { min-height: 0; font-size: .857rem; line-height: .857rem; } .ui.button.basic { border-radius: var(--border-radius); } -.ui.button.red, .ui.button.red.basic { border-color: var(--color-secondary); background: var(--color-button); color: var(--color-red); } - -.ui.button.red:hover, .ui.button.red.basic:hover { background: var(--color-red-dark-2); color: var(--color-white); } - -.ui.button.primary, .ui.button.red, .ui.button.basic { font-weight: 500; } - -.ui.button.green { color: var(--color-white); background: var(--color-green-dark-2); } - -/* ===================== theme-dependent (light default, dark scoped) ===================== */ -/* [light] */ -.label.isSigned { font-size: .857rem !important; margin: 0 .25em !important; padding: 0 !important; display: inline-flex !important; gap: 0 !important; border-radius: 16px !important; --color-light-border: rgba(52, 172, 86, 1) !important; --color-label-bg: none !important; --color-text: rgba(52, 172, 86, 1) !important; --color-green-badge-bg: none !important; --color-green-badge-hover-bg: rgba(52, 172, 86, 0.05) !important; --color-label-hover-bg: rgba(52, 172, 86, 0.05) !important; --color-label-text: rgba(52, 172, 86, 1) !important; --color-green-badge: rgba(52, 172, 86, 1) !important; } - -.label.isSigned .shortsha { padding: 2px 6px 2px 8px !important; } - -.label.isSigned .ui.detail.icon.button { opacity: 1 !important; padding: 2px 8px 2px 6px !important; margin: 0 !important; background: none !important; border-color: rgba(52, 172, 86, 1) !important; } - -.label.isSigned.isVerified .ui.detail.icon.button { padding: 2px 8px 2px 6px !important; } - -/* [light] */ -.markup input[type=checkbox] { --color-input-background: #d7dce6; } - -/* [light] */ -.combo-markdown-editor .tab markdown-toolbar .markdown-toolbar-button:hover, .combo-markdown-editor .tab markdown-toolbar button:hover, .combo-markdown-editor .tab .EasyMDEContainer .editor-toolbar .markdown-toolbar-button:hover, .combo-markdown-editor .tab .EasyMDEContainer .editor-toolbar button:hover { background-color: #d7dce6 !important; } - -/* [light] */ -.combo-markdown-editor .tab markdown-toolbar .markdown-toolbar-group:not(:last-child):after, .combo-markdown-editor .tab .EasyMDEContainer .editor-toolbar .markdown-toolbar-group:not(:last-child):after { background-color: #bcc0cc; } - -/* [light] */ -input:focus, textarea:focus, .ui.input > input:focus, .ui.form input:not([type]):focus, .ui.form textarea:focus, .ui.form input[type=text]:focus { background-color: #f6f7f9; } - -/* [light] */ -.ui.button.red.basic { border-color: rgba(210, 15, 57, 0.4); } - -/* [light] */ -.ui.dropdown > .menu .scrolling.menu .item .item-check-mark { background-color: #bcc0cc; border: 1px solid #838fae; } - -/* [light] */ -.chroma .code-inner { font: 14px ui-monospace, SFMono-Regular, "Source Code Pro", "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace, var(--fonts-emoji); } - -.chroma .bp { color: #bc4501; } - -.chroma .c { color: #656c90; } - -.chroma .c1 { color: #656c90; } - -.chroma .ch { color: #656c90; } - -.chroma .cm { color: #656c90; } - -.chroma .cp { color: #0845be; } - -.chroma .cpf { color: #0845be; } - -.chroma .cs { color: #656c90; } - -.chroma .dl { color: #0845be; } - -.chroma .gh { color: #0d5356; } - -.chroma .go { color: #bc4501; } - -.chroma .gp { color: #656c90; } - -.chroma .gr { color: #ce3b3b; } - -.chroma .gt { color: #ce3b3b; } - -.chroma .gu { color: #0d5356; } - -.chroma .il { color: #bc4501; } - -.chroma .k { color: #6725e1; } - -.chroma .kc { color: #6e460e; } - -.chroma .kd { color: #6725e1; } - -.chroma .kn { color: #6e460e; } - -.chroma .kp { color: #6725e1; } - -.chroma .kr { color: #6725e1; } - -.chroma .kt { color: #6e460e; } - -.chroma .m { color: #bc4501; } - -.chroma .mb { color: #bc4501; } - -.chroma .mf { color: #bc4501; } - -.chroma .mh { color: #bc4501; } - -.chroma .mi { color: #bc4501; } - -.chroma .mo { color: #bc4501; } - -.chroma .n { color: #02126e; } - -.chroma .na { color: #6e460e; } - -.chroma .nb { color: #bc4501; } - -.chroma .nc { color: #c31e97; } - -.chroma .nd { color: #c31e97; } - -.chroma .ne { color: #ce3b3b; } - -.chroma .nf { color: #0845be; } - -.chroma .ni { color: #c31e97; } - -.chroma .nl { color: #6e460e; } - -.chroma .nn { color: #6e460e; } - -.chroma .no { color: #6e460e; } - -.chroma .nt { color: #6725e1; } - -.chroma .nv { color: #bc4501; } - -.chroma .nx { color: #bc4501; } - -.chroma .o { color: #0d5356; } - -.chroma .ow { color: #0d5356; } - -.chroma .p { color: #656c90; } - -.chroma .s { color: #288542; } - -.chroma .s1 { color: #288542; } - -.chroma .s2 { color: #288542; } - -.chroma .sa { color: #288542; } - -.chroma .sb { color: #288542; } - -.chroma .sc { color: #288542; } - -.chroma .sd { color: #288542; } - -.chroma .se { color: #0845be; } - -.chroma .sh { color: #288542; } - -.chroma .si { color: #288542; } - -.chroma .sr { color: #0845be; } - -.chroma .ss { color: #288542; } - -.chroma .sx { color: #288542; } - -.chroma .vc { color: #6e460e; } - -.chroma .vg { color: #bc4501; } - -.chroma .vi { color: #6e460e; } - -.chroma .w { color: #838fae; } - -.chroma .bp { color: #bc4501; font-weight: 600; } - -.chroma .nb { color: #bc4501; font-weight: 600; } - -.chroma .k { color: #6725e1; font-weight: 600; } - -.chroma .kd { color: #6725e1; font-weight: 600; } - -.chroma .kp { color: #6725e1; font-weight: 600; } - -.chroma .kr { color: #6725e1; font-weight: 600; } - -.chroma .c { color: #656c90; font-style: italic; } - -.chroma .c1 { color: #656c90; font-style: italic; } - -.chroma .ch { color: #656c90; font-style: italic; } - -.chroma .cm { color: #656c90; font-style: italic; } - +.ui.buttons .button { flex: 1 0 auto; margin: 0; border-radius: 0; border-right: none; } +.ui.buttons .button:first-child { border-radius: var(--border-radius) 0 0 var(--border-radius); } +.ui.buttons .button:last-child { border-radius: 0 var(--border-radius) var(--border-radius) 0; } + +/* primary = GitHub green */ +:is(.ui.primary.button, .ui.primary.buttons .button, .ui.green.button):not(.basic) { + background: var(--gh-btn-primary-bg); + border-color: var(--gh-btn-primary-border); + color: #ffffff; +} +:is(.ui.primary.button, .ui.primary.buttons .button, .ui.green.button):not(.basic):is(:hover, :focus-visible) { background: var(--gh-btn-primary-hover); color: #ffffff; } +:is(.ui.primary.button, .ui.primary.buttons .button, .ui.green.button):not(.basic):active { background: color-mix(in srgb, var(--gh-btn-primary-hover), #000 8%); } + +/* danger: neutral at rest, red on hover */ +.ui.button.red, +.ui.button.red.basic { + background: var(--gh-btn-bg); + border-color: var(--gh-border); + color: var(--gh-danger-fg); +} +.ui.button.red:hover, +.ui.button.red.basic:hover { + background: var(--gh-danger-emphasis); + border-color: var(--gh-btn-primary-border); + color: #ffffff; +} + +/* ============================================================ + SYNTAX HIGHLIGHTING — Chroma (GitHub prettylights) + ============================================================ */ +.chroma :is(.c, .c1, .ch, .cm, .cs, .go, .gp) { color: var(--syn-comment); } +.chroma :is(.c, .c1, .ch, .cm, .cs) { font-style: normal; } +.chroma :is(.k, .kd, .kn, .kp, .kr, .kt, .o, .ow, .cp) { color: var(--syn-keyword); } +.chroma :is(.kc, .m, .mb, .mf, .mh, .mi, .mo, .il, .nb, .bp, .no, .na, .nl, .ni, .ss, .se, .gh, .gu) { color: var(--syn-constant); } +.chroma :is(.nf, .fm, .nd) { color: var(--syn-entity); } +.chroma :is(.nc, .ne, .nv, .vc, .vg, .vi, .vm) { color: var(--syn-variable); } +.chroma .nt { color: var(--syn-tag); } +.chroma :is(.s, .s1, .s2, .sa, .sb, .sc, .sd, .sh, .sx, .dl, .cpf) { color: var(--syn-string); } +.chroma :is(.sr, .si) { color: var(--syn-regexp); } +.chroma :is(.gr, .gt, .err) { color: var(--syn-deleted-fg); } +.chroma .gi { color: var(--syn-inserted-fg); background-color: var(--syn-inserted-bg); } +.chroma .gd { color: var(--syn-deleted-fg); background-color: var(--syn-deleted-bg); } +.chroma .gh, .chroma .gs { font-weight: 600; } .chroma .ge { font-style: italic; } +.chroma .w { color: var(--gh-fg-subtle); } -.chroma .gd { color: #181825; background-color: rgba(#8b0a26, .25); } +/* ============================================================ + SYNTAX HIGHLIGHTING — CodeMirror 5 (EasyMDE) + ============================================================ */ +.CodeMirror :is(.cm-property, .cm-def, .cm-bracket) { color: var(--color-text); } +.CodeMirror :is(.cm-header, .cm-hr) { color: var(--syn-constant); } +.CodeMirror .cm-header { font-weight: 600; } +.CodeMirror .cm-keyword { color: var(--syn-keyword); } +.CodeMirror :is(.cm-atom, .cm-number, .cm-meta, .cm-qualifier, .cm-builtin, .cm-attribute) { color: var(--syn-constant); } +.CodeMirror :is(.cm-variable-2, .cm-variable-3) { color: var(--syn-variable); } +.CodeMirror :is(.cm-string, .cm-string-2, .cm-quote) { color: var(--syn-string); } +.CodeMirror .cm-tag { color: var(--syn-tag); } +.CodeMirror .cm-comment { color: var(--syn-comment); } +.CodeMirror :is(.cm-url, .cm-link) { color: var(--color-primary); } +.CodeMirror .cm-error { color: var(--syn-deleted-fg); } -.chroma .gi { color: #181825; background-color: rgba(#288542, 0.3); } - -.chroma .gp { color: #656c90; font-weight: bold; } - -.chroma .gs { font-weight: bold; } - -.chroma .ow { color: #0d5356; font-weight: bold; } - -/* [light] */ -.CodeMirror .cm-property, .CodeMirror .cm-header, .CodeMirror .cm-def, .CodeMirror .cm-bracket { color: #484b60; } - -.CodeMirror .cm-quote { color: #34ac56; } - -.CodeMirror .cm-keyword { color: #8652e7; } - -.CodeMirror .cm-atom { color: #d20f39; } - -.CodeMirror .cm-number { color: #fe640b; } - -.CodeMirror .cm-variable-2 { color: #1e66f5; } - -.CodeMirror .cm-variable-3 { color: #179299; } - -.CodeMirror .cm-comment { color: #bcc0cc; } - -.CodeMirror .cm-string, .CodeMirror .cm-string-2 { color: #34ac56; } - -.CodeMirror .cm-meta, .CodeMirror .cm-qualifier, .CodeMirror .cm-builtin { color: #fe640b; } - -.CodeMirror .cm-tag, .CodeMirror .cm-attribute { color: #df8e1d; } - -.CodeMirror .cm-hr { color: #717a9f; } - -.CodeMirror .cm-url, .CodeMirror .cm-link { color: #1e66f5; } - -.CodeMirror .cm-error { color: #d20f39; } - -/* [light] */ -.monaco-editor { --vscode-editor-background: #fcfcfd !important; --vscode-editorGutter-background: #fcfcfd !important; } - -.monaco-editor .selected-text { background-color: #e6e9ef !important; } - -.monaco-editor .margin-view-overlays .line-numbers { color: #656c90 !important; } - -.monaco-editor .line-numbers.active-line-number { color: #6296e2 !important; } - -.monaco-editor .view-overlays .current-line, .monaco-editor .margin-view-overlays .current-line-margin { background-color: #f6f7f9 !important; } - -.monaco-editor .mtk1 { color: #484b60 !important; } - -.monaco-editor .mtk3 { color: #fe640b !important; } - -.monaco-editor .mtk4 { color: #179299 !important; } - -.monaco-editor .mtk5 { color: #484b60 !important; } - -.monaco-editor .mtk6 { color: #8652e7 !important; } - -.monaco-editor .mtk7 { color: #fe640b !important; } - -.monaco-editor .mtk8 { color: #717a9f !important; } - -.monaco-editor .mtk9 { color: #8652e7 !important; } - -.monaco-editor .mtk10 { color: #656c90 !important; } - -.monaco-editor .mtk11 { color: #179299 !important; } - -.monaco-editor .mtk12 { color: #179299 !important; } - -.monaco-editor .mtk15 { color: #8652e7 !important; } - -.monaco-editor .mtk16 { color: #717a9f !important; } - -.monaco-editor .mtk19 { color: #179299 !important; } - -.monaco-editor .mtk21 { color: #34ac56 !important; } - -.monaco-editor .mtk23 { color: #1e66f5 !important; } - -.monaco-editor .mtk24 { color: #fe640b !important; } - -.monaco-editor .mtk25 { color: #ea76cb !important; } - -.monaco-editor .mtk2 { color: #ff69b4 !important; } - -.monaco-editor .mtk13 { color: #ff69b4 !important; } - -.monaco-editor .mtk14 { color: #ff69b4 !important; } - -.monaco-editor .mtk17 { color: #ff69b4 !important; } - -.monaco-editor .mtk18 { color: #ff69b4 !important; } - -.monaco-editor .mtk20 { color: #ff69b4 !important; } - -.monaco-editor .mtk22 { color: #ff69b4 !important; } +/* ============================================================ + SYNTAX HIGHLIGHTING — Monaco (web file editor) + ============================================================ */ +.monaco-editor { + --vscode-editor-background: var(--gh-canvas) !important; + --vscode-editorGutter-background: var(--gh-canvas) !important; +} +.monaco-editor .selected-text { background-color: var(--color-primary-alpha-20) !important; } +.monaco-editor .margin-view-overlays .line-numbers { color: var(--gh-fg-subtle) !important; } +.monaco-editor .line-numbers.active-line-number { color: var(--gh-fg) !important; } +.monaco-editor :is(.view-overlays .current-line, .margin-view-overlays .current-line-margin) { background-color: var(--gh-canvas-subtle) !important; } +.monaco-editor :is(.mtk1, .mtk5, .mtk2, .mtk13, .mtk14, .mtk17, .mtk18, .mtk20, .mtk22) { color: var(--gh-fg) !important; } +.monaco-editor :is(.mtk6, .mtk9, .mtk15) { color: var(--syn-keyword) !important; } +.monaco-editor :is(.mtk3, .mtk7, .mtk24) { color: var(--syn-constant) !important; } +.monaco-editor :is(.mtk4, .mtk11, .mtk12, .mtk19) { color: var(--syn-entity) !important; } +.monaco-editor :is(.mtk8, .mtk10, .mtk16) { color: var(--syn-comment) !important; } +.monaco-editor .mtk21 { color: var(--syn-string) !important; } +.monaco-editor .mtk23 { color: var(--syn-tag) !important; } +.monaco-editor .mtk25 { color: var(--syn-variable) !important; } /* ========================================================= GITEA BRANDING / SYSTEM ELEMENTS — HIDE