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