spb/spbgit Public MIT
SPB Git — the platform hosting itself
JavaScript 73.9%
CSS 11.7%
Nunjucks 11.6%
Shell 2.7%
1/**2 * ─────────────────────────────────────────────3 * SPB Git — Personal Git Platform4 * ─────────────────────────────────────────────5 * Author : Simon-Pierre Boucher6 * Contact : contact@spboucher.ai7 * File : src/web/assets/css/tokens.css8 * Purpose : Design tokens — colors, radius, typography, themes9 * License : MIT © Simon-Pierre Boucher10 * ─────────────────────────────────────────────11 */1213@font-face {14 font-family: 'Inter';15 src: url('/assets/fonts/inter-400.woff2') format('woff2');16 font-weight: 400;17 font-style: normal;18 font-display: swap;19}20@font-face {21 font-family: 'Inter';22 src: url('/assets/fonts/inter-500.woff2') format('woff2');23 font-weight: 500;24 font-style: normal;25 font-display: swap;26}27@font-face {28 font-family: 'Inter';29 src: url('/assets/fonts/inter-600.woff2') format('woff2');30 font-weight: 600;31 font-style: normal;32 font-display: swap;33}34@font-face {35 font-family: 'Inter';36 src: url('/assets/fonts/inter-700.woff2') format('woff2');37 font-weight: 700;38 font-style: normal;39 font-display: swap;40}41@font-face {42 font-family: 'JetBrains Mono';43 src: url('/assets/fonts/jetbrains-mono-400.woff2') format('woff2');44 font-weight: 400;45 font-style: normal;46 font-display: swap;47}48@font-face {49 font-family: 'JetBrains Mono';50 src: url('/assets/fonts/jetbrains-mono-600.woff2') format('woff2');51 font-weight: 600;52 font-style: normal;53 font-display: swap;54}5556:root,57html[data-theme='dark'] {58 --bg: #0b0e14;59 --surface: #11151c;60 --surface-2: #161b24;61 --border: #1f2530;62 --border-strong: #2a3242;63 --text: #e6e9ef;64 --muted: #8b93a3;65 --accent: #4f8cff;66 --accent-soft: rgba(79, 140, 255, 0.14);67 --accent-2: #22d3aa;68 --danger: #ff5d5d;69 --success: #3fb950;70 --add-bg: rgba(63, 185, 80, 0.15);71 --add-text: #56d364;72 --del-bg: rgba(248, 81, 73, 0.15);73 --del-text: #ff7b72;74 --hunk-bg: rgba(79, 140, 255, 0.08);75 --code-bg: #0d1117;76 --chip-bg: rgba(79, 140, 255, 0.12);77 --heat-0: #161b24;78 --heat-1: #0e4429;79 --heat-2: #006d32;80 --heat-3: #26a641;81 --heat-4: #39d353;82 --radius: 10px;83 --font-ui: 'Inter', -apple-system, 'Segoe UI', sans-serif;84 --font-mono: 'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, monospace;85 --shadow-pop: 0 0 0 1px var(--border);86 color-scheme: dark;87}8889html[data-theme='light'] {90 --bg: #f7f8fa;91 --surface: #ffffff;92 --surface-2: #f0f2f5;93 --border: #d9dee6;94 --border-strong: #c2cad6;95 --text: #1c2330;96 --muted: #57606e;97 --accent: #2f6fe0;98 --accent-soft: rgba(47, 111, 224, 0.1);99 --accent-2: #0d9e80;100 --danger: #d33636;101 --success: #1a7f37;102 --add-bg: rgba(26, 127, 55, 0.12);103 --add-text: #1a7f37;104 --del-bg: rgba(207, 34, 46, 0.12);105 --del-text: #cf222e;106 --hunk-bg: rgba(47, 111, 224, 0.07);107 --code-bg: #f6f8fa;108 --chip-bg: rgba(47, 111, 224, 0.1);109 --heat-0: #ebedf0;110 --heat-1: #9be9a8;111 --heat-2: #40c463;112 --heat-3: #30a14e;113 --heat-4: #216e39;114 color-scheme: light;115}116117/* Shiki dual-theme switch */118html[data-theme='dark'] .shiki,119html[data-theme='dark'] .shiki span {120 color: var(--shiki-dark) !important;121 background-color: transparent !important;122}123html[data-theme='light'] .shiki,124html[data-theme='light'] .shiki span {125 color: var(--shiki-light) !important;126 background-color: transparent !important;127}128