flagon-io/g1t

public

Where people and agents ship software together. The open-source git platform for the whole job: issues, agents, checks and deploys to the edge.

g1t/apps/docs/src/styles/g1t.css

389 lines9,389 bytesCodeBlame

Pick any line to see why it is the way it is: the commit, the pull request and issue it came from, and what the agent was thinking.

Docs worth reading, and kept that way1/*
2 * g1t's docs: Starlight in g1t's own design. A very dark gray base,
3 * lavender as the accent for links and the current page, quiet
4 * typography, and one theme.
5 */
Docs as their own app; shared theme package6:root,
7:root[data-theme='light'] {
8 --sl-font: var(--g1t-font-sans);
9 --sl-font-mono: var(--g1t-font-mono);
10
Docs worth reading, and kept that way11 /* Lavender is the docs' accent: links, the current page, highlights. */
12 --sl-color-accent-low: color-mix(in srgb, var(--g1t-merged) 14%, var(--g1t-bg));
13 --sl-color-accent: var(--g1t-merged);
14 --sl-color-accent-high: #d9d1ff;
Docs as their own app; shared theme package15
16 --sl-color-white: var(--g1t-fg);
17 --sl-color-gray-1: var(--g1t-fg-soft);
18 --sl-color-gray-2: var(--g1t-fg-soft);
19 --sl-color-gray-3: var(--g1t-muted);
20 --sl-color-gray-4: var(--g1t-faint);
21 --sl-color-gray-5: var(--g1t-line);
22 --sl-color-gray-6: var(--g1t-surface);
23 --sl-color-gray-7: var(--g1t-surface);
24 --sl-color-black: var(--g1t-bg);
25
26 --sl-color-bg: var(--g1t-bg);
Docs worth reading, and kept that way27 --sl-color-bg-nav: color-mix(in srgb, var(--g1t-bg) 88%, transparent);
Docs as their own app; shared theme package28 --sl-color-bg-sidebar: var(--g1t-bg);
29 --sl-color-hairline: var(--g1t-line);
30 --sl-color-hairline-light: var(--g1t-line);
Docs worth reading, and kept that way31 --sl-color-hairline-shade: var(--g1t-line);
Docs as their own app; shared theme package32 --sl-color-text: var(--g1t-fg-soft);
Docs worth reading, and kept that way33 --sl-color-text-accent: #cfc6ff;
Docs as their own app; shared theme package34 --sl-color-text-invert: var(--g1t-bg);
35 --sl-color-bg-inline-code: var(--g1t-raised);
36
Docs worth reading, and kept that way37 --sl-text-body: 0.9375rem;
38 --sl-line-height: 1.75;
39 --sl-content-width: 46rem;
40 --sl-nav-height: 3.5rem;
41 --sl-sidebar-width: 17rem;
42
Docs as their own app; shared theme package43 color-scheme: dark;
44}
45
46/* There is one theme, so the switcher has nothing to switch. */
47starlight-theme-select {
48 display: none;
49}
50
Docs worth reading, and kept that way51/* --- Header --------------------------------------------------------------- */
52
53header.header {
54 backdrop-filter: blur(10px);
55 border-bottom: 1px solid var(--g1t-line);
56}
57site-search button[data-open-modal] {
58 border-radius: 0.5rem;
59 background: var(--g1t-surface);
60 border-color: var(--g1t-line);
61 color: var(--g1t-faint);
62}
63site-search button[data-open-modal]:hover {
64 border-color: var(--g1t-line-strong);
65 color: var(--g1t-muted);
66}
67
68/* --- Sidebar -------------------------------------------------------------- */
69
70.sidebar-content {
71 padding-top: 1.25rem;
72}
73/* Group labels: small and quiet, like section names, not links. */
74.sidebar-content details > summary .group-label .large,
75.sidebar-content .top-level > li > details > summary {
76 font-size: 0.75rem;
77 font-weight: 600;
78 letter-spacing: 0.06em;
79 text-transform: uppercase;
80 color: var(--g1t-faint);
81}
82.sidebar-content ul ul,
83.sidebar-content ul ul li {
84 border-inline-start: 0;
85 margin-inline-start: 0;
86 padding-inline-start: 0;
87}
88.sidebar-content a {
89 border-radius: 0.375rem;
90 padding: 0.32rem 0.6rem;
91 font-size: 0.875rem;
92 color: var(--g1t-muted);
93}
94.sidebar-content a:hover {
95 background: var(--g1t-surface);
96 color: var(--g1t-fg);
97}
98/* The current page: brighter text and a lavender mark, not a filled bar. */
99.sidebar-content a[aria-current='page'],
100.sidebar-content a[aria-current='page']:hover {
101 background: var(--g1t-surface);
102 color: var(--g1t-fg);
103 font-weight: 500;
104 box-shadow: inset 2px 0 0 var(--g1t-merged);
105}
106
107/* --- Content -------------------------------------------------------------- */
108
109.content-panel {
110 padding-top: 2rem;
111}
112.sl-markdown-content h1,
113h1#_top {
114 font-size: 2.25rem;
115 font-weight: 650;
116 letter-spacing: -0.03em;
117 line-height: 1.15;
118 color: var(--g1t-fg);
119}
120/* Each section opens with a rule across the full column. */
121.sl-markdown-content .sl-heading-wrapper.level-h2 {
122 margin-top: 3rem;
123 padding-top: 1.75rem;
124 border-top: 1px solid var(--g1t-line);
125}
126.sl-markdown-content h2 {
127 font-size: 1.4rem;
128 font-weight: 650;
Docs as their own app; shared theme package129 letter-spacing: -0.02em;
Docs worth reading, and kept that way130 color: var(--g1t-fg);
Docs as their own app; shared theme package131}
Docs worth reading, and kept that way132.sl-markdown-content h3 {
133 margin-top: 2rem;
134 font-size: 1.1rem;
135 font-weight: 600;
136 letter-spacing: -0.01em;
137 color: var(--g1t-fg);
138}
139.sl-markdown-content p,
140.sl-markdown-content li {
141 color: var(--g1t-fg-soft);
142}
143.sl-markdown-content a:not(.card, .sl-link-button, .sl-link-card) {
144 color: #cfc6ff;
145 text-decoration-color: color-mix(in srgb, var(--g1t-merged) 45%, transparent);
146 text-underline-offset: 0.2em;
147}
148.sl-markdown-content a:not(.card, .sl-link-button, .sl-link-card):hover {
149 text-decoration-color: var(--g1t-merged);
150}
151.sl-markdown-content :not(pre) > code {
152 border-radius: 0.3rem;
153 padding: 0.1rem 0.35rem;
154 font-size: 0.85em;
155 color: var(--g1t-fg);
156 box-shadow: inset 0 0 0 1px var(--g1t-line);
157}
Docs as their own app; shared theme package158
Docs worth reading, and kept that way159/* Tables: ruled, not boxed. */
160.sl-markdown-content table {
161 display: table;
162 width: 100%;
163 border-collapse: collapse;
164 font-size: 0.875rem;
165}
166.sl-markdown-content th {
167 border-bottom: 1px solid var(--g1t-line-strong);
168 background: transparent;
169 font-weight: 600;
170 color: var(--g1t-muted);
171 text-align: start;
172}
173.sl-markdown-content td,
174.sl-markdown-content th {
175 padding: 0.6rem 0.75rem;
176 border-inline: 0;
177 border-top: 0;
178}
179.sl-markdown-content td {
180 border-bottom: 1px solid var(--g1t-line);
181 vertical-align: top;
182}
183.sl-markdown-content tr:nth-child(2n) {
184 background: transparent;
Docs as their own app; shared theme package185}
186
Docs worth reading, and kept that way187/* Callouts: a tinted panel with a coloured edge. */
188.starlight-aside {
189 border: 0;
190 border-inline-start: 2px solid;
191 border-radius: 0 0.6rem 0.6rem 0;
192 padding: 0.85rem 1.1rem;
193}
194.starlight-aside--note {
195 border-color: var(--g1t-info);
196 background: color-mix(in srgb, var(--g1t-info) 7%, var(--g1t-bg));
197}
198.starlight-aside--tip {
Docs as their own app; shared theme package199 border-color: var(--g1t-accent);
Docs worth reading, and kept that way200 background: color-mix(in srgb, var(--g1t-accent) 6%, var(--g1t-bg));
Docs as their own app; shared theme package201}
Docs worth reading, and kept that way202.starlight-aside--caution {
203 border-color: var(--g1t-warn);
204 background: color-mix(in srgb, var(--g1t-warn) 7%, var(--g1t-bg));
205}
206.starlight-aside--danger {
207 border-color: var(--g1t-danger);
208 background: color-mix(in srgb, var(--g1t-danger) 7%, var(--g1t-bg));
209}
210
211/* --- On this page --------------------------------------------------------- */
Docs as their own app; shared theme package212
Docs worth reading, and kept that way213.right-sidebar-panel h2 {
214 font-size: 0.75rem;
215 font-weight: 600;
216 letter-spacing: 0.06em;
217 text-transform: uppercase;
218 color: var(--g1t-faint);
219}
220.right-sidebar-panel a {
221 font-size: 0.8125rem;
222 color: var(--g1t-muted);
223}
224.right-sidebar-panel a:hover {
225 color: var(--g1t-fg);
226}
227.right-sidebar-panel a[aria-current='true'] {
228 color: #cfc6ff;
229}
230
231/* --- Cards and buttons ---------------------------------------------------- */
232
233.card,
234.sl-link-card {
235 border-radius: 1rem;
236 background: var(--g1t-surface);
237 border: 1px solid var(--g1t-line);
238 transition: border-color 0.15s;
239}
240.sl-link-card:hover {
241 border-color: var(--g1t-line-strong);
Docs as their own app; shared theme package242 background: var(--g1t-surface);
Docs worth reading, and kept that way243}
244.sl-link-button {
245 border-radius: 0.5rem;
246 font-size: 0.9rem;
247 font-weight: 500;
248}
249.sl-link-button.primary {
250 background: var(--g1t-fg);
251 border-color: var(--g1t-fg);
252 color: var(--g1t-bg);
253}
254.sl-link-button.primary:hover {
255 background: #fff;
256}
257.sl-link-button.minimal {
258 color: var(--g1t-fg-soft);
259}
260
261/* --- Pagination and footer ----------------------------------------------- */
262
263.pagination-links a {
264 border-radius: 0.75rem;
Docs as their own app; shared theme package265 border-color: var(--g1t-line);
Docs worth reading, and kept that way266 box-shadow: none;
267}
268.pagination-links a:hover {
269 border-color: var(--g1t-line-strong);
270}
271.pagination-links a .link-title {
272 color: var(--g1t-fg);
273}
274.meta,
275.meta a {
276 font-size: 0.8125rem;
277 color: var(--g1t-faint);
278}
279
280/* --- The home page -------------------------------------------------------- */
281
282/* The home page brings its own heading, so Starlight's title bar goes. */
283main:has(.g1t-home-hero) > .content-panel:first-child {
284 display: none;
285}
286main:has(.g1t-home-hero) > .content-panel {
287 border-top: 0;
288}
289.g1t-home-hero {
290 padding: 1rem 0 0.5rem;
291}
292.sl-markdown-content .g1t-eyebrow {
293 font-family: var(--g1t-font-mono);
294 font-size: 0.72rem;
295 letter-spacing: 0.2em;
296 text-transform: uppercase;
297 color: var(--g1t-merged);
298}
299.g1t-home-hero h1 {
300 margin: 0.75rem 0 0;
301 font-size: clamp(2.25rem, 5vw, 3.25rem);
302 font-weight: 650;
303 letter-spacing: -0.035em;
304 line-height: 1.05;
305 color: var(--g1t-fg);
306 border: 0;
307 padding: 0;
308}
309.g1t-home-hero p {
310 max-width: 38rem;
311 margin-top: 1rem;
312 font-size: 1.05rem;
313 color: var(--g1t-muted);
314}
315.g1t-paths {
316 display: grid;
317 gap: 0.75rem;
318 grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
319 margin-top: 2rem;
320}
321.g1t-path {
322 display: block;
323 border-radius: 1rem;
324 padding: 1.1rem 1.2rem;
325 background: var(--g1t-surface);
326 border: 1px solid var(--g1t-line);
327 text-decoration: none !important;
328 transition: border-color 0.15s, transform 0.15s;
329}
330.g1t-path:hover {
331 border-color: var(--g1t-line-strong);
332 transform: translateY(-1px);
333}
334.g1t-path strong {
335 display: block;
336 font-size: 0.95rem;
337 color: var(--g1t-fg);
338}
339.g1t-path span {
340 display: block;
341 margin-top: 0.35rem;
342 font-size: 0.85rem;
343 line-height: 1.55;
344 color: var(--g1t-muted);
345}
346.g1t-path em {
347 display: inline-block;
348 margin-bottom: 0.6rem;
349 font-family: var(--g1t-font-mono);
350 font-size: 0.68rem;
351 font-style: normal;
352 letter-spacing: 0.14em;
353 text-transform: uppercase;
354 color: var(--g1t-merged);
355}
356.g1t-columns {
357 display: grid;
358 gap: 2rem;
359 grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
360 margin-top: 3rem !important;
361}
362.g1t-columns > div,
363.g1t-paths > a {
364 margin-top: 0 !important;
365}
366.g1t-columns h3 {
367 margin: 0 0 0.5rem;
368 font-size: 0.8rem;
369 font-weight: 600;
370 letter-spacing: 0.06em;
371 text-transform: uppercase;
372 color: var(--g1t-faint);
373}
374.g1t-columns ul {
375 margin: 0;
376 padding: 0;
377 list-style: none;
378}
379.g1t-columns li {
380 margin: 0.3rem 0;
381}
382.g1t-columns a {
383 font-size: 0.9rem;
384 color: var(--g1t-fg-soft) !important;
385 text-decoration: none !important;
386}
387.g1t-columns a:hover {
388 color: #cfc6ff !important;
Docs as their own app; shared theme package389}