v0.12.1 1453d21

tailwind.css RawHistoryFolder

1@import "tailwindcss";
2
3/* Dynamic theme switching via CSS variables */
4:root {
5  --dynamic-bg: var(--color-browser-bg);
6  --dynamic-surface-variant: var(--color-browser-surface-variant);
7  --dynamic-surface: var(--color-browser-surface);
8  --dynamic-text: var(--color-browser-text);
9  --dynamic-muted: var(--color-browser-muted);
10  --dynamic-accent: var(--color-browser-accent);
11  --dynamic-border: var(--color-browser-border);
12}
13
14/* Base styles for browser UI components */
15.browser-ui {
16  background-color: var(--dynamic-bg);
17  color: var(--dynamic-text);
18  border-color: var(--dynamic-border);
19  transition: colors 250ms;
20}
21
22/* Toast notification styles */
23.toast-base {
24  border-radius: 0;
25  box-shadow:
26    0 10px 15px -3px rgb(0 0 0 / 0.1),
27    0 4px 6px -4px rgb(0 0 0 / 0.1);
28  padding: 0.25rem 0.5rem;
29  max-width: 24rem;
30  pointer-events: auto;
31  background-color: var(--dynamic-surface);
32  color: var(--dynamic-text);
33  border: 1px solid var(--dynamic-border);
34}
35
36.toast-success,
37.toast-error,
38.toast-info {
39  background-color: var(--toast-bg, var(--dynamic-surface));
40  color: var(--toast-text, var(--dynamic-text));
41  border: 1px solid var(--toast-border, var(--dynamic-border));
42}
43
44/* Omnibox/Find bar styles */
45.omnibox-base {
46  background-color: var(--dynamic-bg);
47  color: var(--dynamic-text);
48  border: 1px solid var(--dynamic-border);
49  box-shadow:
50    0 4px 6px -1px rgb(0 0 0 / 0.1),
51    0 2px 4px -2px rgb(0 0 0 / 0.1);
52  transition: all 150ms;
53}
54
55.omnibox-base:focus-within {
56  border-color: var(--dynamic-accent);
57}
58
59.omnibox-input {
60  width: 100%;
61  padding: 0.5rem 0.75rem;
62  background-color: transparent;
63  color: var(--dynamic-text);
64  outline: none;
65  font-size: 0.875rem;
66}
67
68.omnibox-input::placeholder {
69  color: var(--dynamic-muted);
70}
71
72.omnibox-results {
73  background-color: var(--dynamic-bg);
74  border: 1px solid var(--dynamic-border);
75  border-radius: 0;
76  box-shadow:
77    0 10px 15px -3px rgb(0 0 0 / 0.1),
78    0 4px 6px -4px rgb(0 0 0 / 0.1);
79  max-height: 24rem;
80  overflow-y: auto;
81}
82
83.omnibox-item {
84  padding: 0.75rem 1rem;
85  cursor: pointer;
86  transition: colors 150ms;
87  border-bottom: 1px solid var(--dynamic-border);
88}
89
90.omnibox-item:hover,
91.omnibox-item:focus {
92  background-color: var(--dynamic-surface);
93  outline: none;
94}
95
96.omnibox-item.selected {
97  background-color: color-mix(in srgb, var(--dynamic-accent) 10%, transparent);
98  color: var(--dynamic-accent);
99}
100
101/* Find bar specific styles */
102.findbar {
103  display: flex;
104  align-items: center;
105  gap: 0.5rem;
106  padding: 0.5rem 0.75rem;
107}
108
109.findbar-input {
110  flex: 1;
111  background-color: transparent;
112  color: var(--dynamic-text);
113  outline: none;
114  font-size: 0.875rem;
115}
116
117.findbar-input::placeholder {
118  color: var(--dynamic-muted);
119}
120
121.findbar-button {
122  padding: 0.25rem 0.5rem;
123  border-radius: 0;
124  color: var(--dynamic-muted);
125  transition: colors 150ms;
126  font-size: 0.875rem;
127}
128
129.findbar-button:hover {
130  color: var(--dynamic-text);
131}
132
133.findbar-count {
134  font-size: 0.75rem;
135  color: var(--dynamic-muted);
136  font-variant-numeric: tabular-nums;
137}
138
139/* Animation utilities */
140.slide-in-top {
141  animation: slide-in-top 0.25s ease-out;
142}
143
144.slide-out-top {
145  animation: slide-out-top 0.25s ease-in;
146}
147
148.fade-in {
149  animation: fade-in 0.15s ease-out;
150}
151
152.fade-out {
153  animation: fade-out 0.15s ease-in;
154}
155
156@keyframes slide-in-top {
157  from {
158    transform: translateY(-100%);
159    opacity: 0;
160  }
161  to {
162    transform: translateY(0);
163    opacity: 1;
164  }
165}
166
167@keyframes slide-out-top {
168  from {
169    transform: translateY(0);
170    opacity: 1;
171  }
172  to {
173    transform: translateY(-100%);
174    opacity: 0;
175  }
176}
177
178@keyframes fade-in {
179  from {
180    opacity: 0;
181  }
182  to {
183    opacity: 1;
184  }
185}
186
187@keyframes fade-out {
188  from {
189    opacity: 1;
190  }
191  to {
192    opacity: 0;
193  }
194}
195
196/* Find highlighting styles for in-page search */
197.find-highlight {
198  background-color: rgb(255 235 59); /* yellow-400 */
199  color: rgb(0 0 0); /* black */
200  padding: 0 0.125rem; /* px-0.5 */
201  border-radius: 0.125rem; /* rounded-sm */
202  box-shadow: 0 0 0 1px rgb(200 185 0) inset;
203}
204
205.find-active {
206  background-color: rgb(255 152 0) !important; /* orange-500 */
207  color: rgb(0 0 0); /* black */
208  box-shadow: 0 0 0 1px rgb(179 107 0) inset !important;
209}
210
211/* Utility for isolating component styles */
212.browser-component-root {
213  /* Reset any inherited styles from the website */
214  all: initial;
215  /* Apply our design system */
216  font-family:
217    Fira Sans,
218    system-ui,
219    -apple-system,
220    sans-serif;
221  box-sizing: border-box;
222  * {
223    box-sizing: border-box;
224  }
225}
226
227/* Global body styles */
228body {
229  background-color: var(--dynamic-bg);
230  color: var(--dynamic-text);
231  transition:
232    background-color 200ms ease,
233    color 200ms ease;
234}

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 8

Tags 42

↑↓ moveenter openesc close