This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

core / web / src / app.css
11 kB 275 lines
1@import "tailwindcss"; 2 3@theme { 4 --font-sans: "InterVariable", "system-ui", sans-serif, ui-sans-serif; 5 --font-mono: 6 "IBMPlexMono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", 7 "Courier New", monospace; 8 9 /* ========================================================================= 10 Semantic color tokens — synced from Figma "Design System" › semantic colors 11 Names mirror the Figma variables verbatim (`/` → `-`). Light-mode values 12 here; dark-mode overrides live in the prefers-color-scheme block below. 13 ========================================================================= */ 14 15 /* --- background --- */ 16 --color-background-default: #ffffff; 17 --color-background-subtle: #f9fafb; 18 --color-background-inset: #f3f4f6; 19 --color-background-muted: #e5e7eb; 20 --color-background-canvas: #f3f4f6; 21 --color-background-highlight: #fef08a; 22 --color-background-success-subtle: #dcfce7; 23 --color-background-success-subtle-hover: #bbf7d0; 24 --color-background-success-emphasis: #16a34a; 25 --color-background-success-emphasis-hover: #15803d; 26 --color-background-danger-subtle: #ffe2e2; 27 --color-background-danger-subtle-hover: #fecaca; 28 --color-background-danger-emphasis: #fca5a5; 29 --color-background-danger-emphasis-hover: #f87171; 30 --color-background-warning-subtle: #fffbeb; 31 --color-background-warning-subtle-hover: #fef3c7; 32 --color-background-warning-emphasis: #f59e0b; 33 --color-background-info-subtle: #eef2ff; 34 --color-background-info-subtle-hover: #e0e7ff; 35 --color-background-info-emphasis: #4f46e5; 36 37 /* --- foreground --- */ 38 --color-foreground-default: #111827; 39 --color-foreground-muted: #4b5563; 40 --color-foreground-subtle: #6b7280; 41 --color-foreground-placeholder: #9ca3af; 42 --color-foreground-disabled: #d1d5db; 43 --color-foreground-on-emphasis: #ffffff; 44 --color-foreground-highlight: #854d0e; 45 --color-foreground-success: #16a34a; 46 --color-foreground-success-strong: #166534; 47 --color-foreground-success-disabled: #16a34a80; 48 --color-foreground-danger: #dc2626; 49 --color-foreground-danger-strong: #991b1b; 50 --color-foreground-warning: #d97706; 51 --color-foreground-warning-strong: #92400e; 52 --color-foreground-info: #4338ca; 53 --color-foreground-info-strong: #3730a3; 54 --color-foreground-link-default: #111827; 55 --color-foreground-link-hover: #374151; 56 --color-foreground-link-disabled: #9ca3af; 57 --color-foreground-link-danger: #dc2626; 58 --color-foreground-link-danger-hover: #ef4444; 59 --color-foreground-link-success: #16a34a; 60 --color-foreground-link-success-hover: #22c55e; 61 --color-foreground-link-warning: #d97706; 62 --color-foreground-link-warning-hover: #f59e0b; 63 --color-foreground-link-info: #4f46e5; 64 --color-foreground-link-info-hover: #6366f1; 65 66 /* --- border --- */ 67 --color-border-default: #e5e7eb; 68 --color-border-subtle: #f3f4f6; 69 --color-border-strong: #d1d5db; 70 --color-border-disabled: #e5e7eb; 71 --color-border-focus: #9ca3af; 72 --color-border-focus-success: #22c55e; 73 --color-border-focus-danger: #ef4444; 74 --color-border-success: #15803d; 75 --color-border-danger: #fca5a5; 76 77 /* --- shadow (inner depth) --- */ 78 --color-shadow-inner-strong: #d1d5db; 79 --color-shadow-inner-strong-hover: #d1d5db; 80 --color-shadow-inner-subtle: #e5e7eb; 81 82 --shadow-menu: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); 83 84 /* --- alpha --- */ 85 --color-alpha-light-5: color-mix(in srgb, var(--color-background-default) 5%, transparent); 86 --color-alpha-light-10: color-mix(in srgb, var(--color-background-default) 10%, transparent); 87 --color-alpha-light-15: color-mix(in srgb, var(--color-background-default) 15%, transparent); 88 --color-alpha-light-20: color-mix(in srgb, var(--color-background-default) 20%, transparent); 89 --color-alpha-light-25: color-mix(in srgb, var(--color-background-default) 25%, transparent); 90 --color-alpha-light-30: color-mix(in srgb, var(--color-background-default) 30%, transparent); 91 --color-alpha-light-35: color-mix(in srgb, var(--color-background-default) 35%, transparent); 92 --color-alpha-light-40: color-mix(in srgb, var(--color-background-default) 40%, transparent); 93 --color-alpha-light-45: color-mix(in srgb, var(--color-background-default) 45%, transparent); 94 --color-alpha-light-50: color-mix(in srgb, var(--color-background-default) 50%, transparent); 95 --color-alpha-light-55: color-mix(in srgb, var(--color-background-default) 55%, transparent); 96 --color-alpha-light-60: color-mix(in srgb, var(--color-background-default) 60%, transparent); 97 --color-alpha-light-65: color-mix(in srgb, var(--color-background-default) 65%, transparent); 98 --color-alpha-light-70: color-mix(in srgb, var(--color-background-default) 70%, transparent); 99 --color-alpha-light-75: color-mix(in srgb, var(--color-background-default) 75%, transparent); 100 --color-alpha-light-80: color-mix(in srgb, var(--color-background-default) 80%, transparent); 101 --color-alpha-light-85: color-mix(in srgb, var(--color-background-default) 85%, transparent); 102 --color-alpha-light-90: color-mix(in srgb, var(--color-background-default) 90%, transparent); 103 --color-alpha-light-95: color-mix(in srgb, var(--color-background-default) 95%, transparent); 104 105 --color-alpha-dark-5: color-mix(in srgb, var(--color-foreground-default) 5%, transparent); 106 --color-alpha-dark-10: color-mix(in srgb, var(--color-foreground-default) 10%, transparent); 107 --color-alpha-dark-15: color-mix(in srgb, var(--color-foreground-default) 15%, transparent); 108 --color-alpha-dark-20: color-mix(in srgb, var(--color-foreground-default) 20%, transparent); 109 --color-alpha-dark-25: color-mix(in srgb, var(--color-foreground-default) 25%, transparent); 110 --color-alpha-dark-30: color-mix(in srgb, var(--color-foreground-default) 30%, transparent); 111 --color-alpha-dark-35: color-mix(in srgb, var(--color-foreground-default) 35%, transparent); 112 --color-alpha-dark-40: color-mix(in srgb, var(--color-foreground-default) 40%, transparent); 113 --color-alpha-dark-45: color-mix(in srgb, var(--color-foreground-default) 45%, transparent); 114 --color-alpha-dark-50: color-mix(in srgb, var(--color-foreground-default) 50%, transparent); 115 --color-alpha-dark-55: color-mix(in srgb, var(--color-foreground-default) 55%, transparent); 116 --color-alpha-dark-60: color-mix(in srgb, var(--color-foreground-default) 60%, transparent); 117 --color-alpha-dark-65: color-mix(in srgb, var(--color-foreground-default) 65%, transparent); 118 --color-alpha-dark-70: color-mix(in srgb, var(--color-foreground-default) 70%, transparent); 119 --color-alpha-dark-75: color-mix(in srgb, var(--color-foreground-default) 75%, transparent); 120 --color-alpha-dark-80: color-mix(in srgb, var(--color-foreground-default) 80%, transparent); 121 --color-alpha-dark-85: color-mix(in srgb, var(--color-foreground-default) 85%, transparent); 122 --color-alpha-dark-90: color-mix(in srgb, var(--color-foreground-default) 90%, transparent); 123 --color-alpha-dark-95: color-mix(in srgb, var(--color-foreground-default) 95%, transparent); 124} 125 126@layer base { 127 @font-face { 128 font-family: "InterVariable"; 129 src: url("/fonts/InterVariable.woff2") format("woff2-variations"); 130 font-weight: 100 600; 131 font-style: normal; 132 font-display: swap; 133 } 134 135 @font-face { 136 font-family: "InterVariable"; 137 src: url("/fonts/InterVariable-Italic.woff2") format("woff2-variations"); 138 font-weight: 100 600; 139 font-style: italic; 140 font-display: swap; 141 } 142 143 @font-face { 144 font-family: "InterVariable"; 145 src: url("/fonts/InterDisplay-Bold.woff2") format("woff2"); 146 font-weight: bold; 147 font-style: normal; 148 font-display: swap; 149 } 150 151 @font-face { 152 font-family: "InterVariable"; 153 src: url("/fonts/InterDisplay-BoldItalic.woff2") format("woff2"); 154 font-weight: bold; 155 font-style: italic; 156 font-display: swap; 157 } 158 159 @font-face { 160 font-family: "IBMPlexMono"; 161 src: url("/fonts/IBMPlexMono-Regular.woff2") format("woff2"); 162 font-weight: normal; 163 font-style: normal; 164 font-display: swap; 165 } 166 167 @font-face { 168 font-family: "IBMPlexMono"; 169 src: url("/fonts/IBMPlexMono-Italic.woff2") format("woff2"); 170 font-weight: normal; 171 font-style: italic; 172 font-display: swap; 173 } 174 175 @font-face { 176 font-family: "IBMPlexMono"; 177 src: url("/fonts/IBMPlexMono-Bold.woff2") format("woff2"); 178 font-weight: bold; 179 font-style: normal; 180 font-display: swap; 181 } 182 183 @font-face { 184 font-family: "IBMPlexMono"; 185 src: url("/fonts/IBMPlexMono-BoldItalic.woff2") format("woff2"); 186 font-weight: bold; 187 font-style: italic; 188 font-display: swap; 189 } 190 191 html { 192 font-size: 16px; 193 scrollbar-gutter: stable; 194 } 195 196 @media (prefers-color-scheme: dark) { 197 :root { 198 /* --- background (Dark) --- */ 199 --color-background-default: #1f2937; 200 --color-background-subtle: #374151; 201 --color-background-inset: #374151; 202 --color-background-muted: #4b5563; 203 --color-background-canvas: #111827; 204 --color-background-highlight: #713f12; 205 --color-background-success-subtle: #14532d; 206 --color-background-success-subtle-hover: #166534; 207 --color-background-success-emphasis: #15803d; 208 --color-background-success-emphasis-hover: #166534; 209 --color-background-danger-subtle: #7f1d1d; 210 --color-background-danger-subtle-hover: #991b1b; 211 --color-background-danger-emphasis: #b91c1c; 212 --color-background-danger-emphasis-hover: #991b1b; 213 --color-background-warning-subtle: #78350f; 214 --color-background-warning-subtle-hover: #92400e; 215 --color-background-warning-emphasis: #d97706; 216 --color-background-info-subtle: #312e81; 217 --color-background-info-subtle-hover: #3730a3; 218 --color-background-info-emphasis: #4f46e5; 219 220 /* --- foreground (Dark) --- */ 221 --color-foreground-default: #f3f4f6; 222 --color-foreground-muted: #9ca3af; 223 --color-foreground-subtle: #6b7280; 224 --color-foreground-placeholder: #9ca3af; 225 --color-foreground-disabled: #6b7280; 226 --color-foreground-on-emphasis: #ffffff; 227 --color-foreground-highlight: #fef08a; 228 --color-foreground-success: #4ade80; 229 --color-foreground-success-strong: #bbf7d0; 230 --color-foreground-success-disabled: #15803d; 231 --color-foreground-danger: #f87171; 232 --color-foreground-danger-strong: #fecaca; 233 --color-foreground-warning: #fbbf24; 234 --color-foreground-warning-strong: #fde68a; 235 --color-foreground-info: #818cf8; 236 --color-foreground-info-strong: #c7d2fe; 237 --color-foreground-link-default: #f3f4f6; 238 --color-foreground-link-hover: #d1d5db; 239 --color-foreground-link-disabled: #6b7280; 240 --color-foreground-link-danger: #ef4444; 241 --color-foreground-link-danger-hover: #f87171; 242 --color-foreground-link-success: #22c55e; 243 --color-foreground-link-success-hover: #4ade80; 244 --color-foreground-link-warning: #f59e0b; 245 --color-foreground-link-warning-hover: #fbbf24; 246 --color-foreground-link-info: #6366f1; 247 --color-foreground-link-info-hover: #818cf8; 248 249 /* --- border (Dark) --- */ 250 --color-border-default: #374151; 251 --color-border-subtle: #1f2937; 252 --color-border-strong: #6b7280; 253 --color-border-disabled: #4b5563; 254 --color-border-focus: #d1d5db; 255 --color-border-focus-success: #22c55e; 256 --color-border-focus-danger: #ef4444; 257 --color-border-success: #15803d; 258 --color-border-danger: #991b1b; 259 260 /* --- shadow (Dark) --- */ 261 --color-shadow-inner-strong: #030712; 262 --color-shadow-inner-strong-hover: #1f2937; 263 --color-shadow-inner-subtle: #111827; 264 } 265 } 266 267 body { 268 @apply flex min-h-screen flex-col bg-background-canvas text-foreground-default transition-colors duration-200; 269 font-size: 14px; 270 } 271 272 a { 273 @apply text-foreground-default no-underline hover:text-foreground-muted; 274 } 275}