1*, *::before, *::after { box-sizing: border-box; }
2
3footer {
4 padding: 1rem;
5 margin-top: 2rem;
6 color: var(--secondary);
7 font-size: .875rem;
8 text-align: center;
9}
10
11html { overflow-x: clip; }
12
13body {
14 font-family: var(--font-body);
15 max-width: 860px;
16 margin: 0 auto;
17 padding: 0;
18 background: var(--background);
19 color: var(--primary);
20}
21
22header {
23 padding: .75rem 1rem;
24 margin-bottom: .75rem;
25}
26
27header ul {
28 list-style: none;
29 margin: 0;
30 padding: 0;
31 display: flex;
32 align-items: center;
33 gap: .25rem;
34 font-size: 1.2rem;
35 min-width: 0;
36}
37
38header li {
39 white-space: nowrap;
40 overflow: hidden;
41 text-overflow: ellipsis;
42 min-width: 0;
43}
44
45header li:first-child { flex-shrink: 0; }
46header li:last-child { flex-shrink: 1; }
47
48header li + li::before {
49 content: '/';
50 margin-right: .25rem;
51 color: var(--secondary);
52}
53
54header a {
55 color: var(--primary);
56 text-decoration: none;
57}
58
59header a:hover {
60 color: var(--emphasized);
61 text-decoration: underline;
62 text-underline-offset: 4px;
63}
64
65main > h1, main > p {
66 padding-left: 1rem;
67 padding-right: 1rem;
68}
69
70main > h1 { margin-bottom: .75rem; }
71main > p { margin-top: 0; }
72.repo-commit-count { color: var(--secondary); }
73main > article { padding: 0 1rem; }
74
75.repo-list {
76 display: flex;
77 flex-direction: column;
78}
79
80.repo-card {
81 display: flex;
82 flex-direction: column;
83 gap: .5rem;
84 padding: 1rem 1.25rem;
85 text-decoration: none;
86 color: inherit;
87}
88
89.repo-card:hover { background: var(--highlight); }
90
91.repo-name {
92 font-size: 1.1rem;
93 font-weight: 600;
94 color: var(--emphasized);
95}
96
97.repo-desc {
98 font-size: 1rem;
99 color: var(--primary);
100}
101
102.repo-meta {
103 display: flex;
104 justify-content: space-between;
105 font-size: .9rem;
106 color: var(--secondary);
107}
108
109details {
110 background: var(--highlight);
111}
112
113details:first-of-type {
114 border-top: 1px solid var(--secondary);
115}
116
117summary {
118 cursor: pointer;
119 display: flex;
120 align-items: center;
121 padding: 0 1rem;
122 min-height: 50px;
123 font-family: var(--font-body);
124 font-weight: bold;
125}
126
127summary::before {
128 content: '+';
129 font-family: var(--font-mono);
130 margin-right: .5rem;
131 color: var(--primary);
132}
133
134details[open] summary::before {
135 content: '−';
136}
137
138details[open] summary {
139 color: var(--emphasized);
140}
141
142
143summary span {
144 color: var(--secondary);
145 margin-left: auto;
146}
147
148details > *:not(summary) {
149 padding: 0 1rem .75rem;
150 margin-bottom: 0;
151}
152
153details > ul {
154 list-style: none;
155 padding: 0;
156 margin: 0;
157}
158
159details ul li {
160 display: flex;
161 align-items: center;
162 gap: 1rem;
163 min-height: 50px;
164 padding: 0 1rem;
165 color: var(--secondary);
166 font-family: var(--font-mono);
167 font-size: 1rem;
168}
169
170details ul li:has(a), details ul li:has(button) {
171 padding: 0;
172}
173
174details ul li a,
175details ul li button {
176 display: flex;
177 align-items: center;
178 gap: 1rem;
179 padding: 0 1rem;
180 min-height: 50px;
181 width: 100%;
182 text-align: left;
183 text-decoration: none;
184 color: inherit;
185 background: transparent;
186 border: none;
187 cursor: pointer;
188 font-family: var(--font-mono);
189 font-size: 1rem;
190}
191
192details ul li a:hover,
193details ul li button:hover {
194 background: var(--background);
195}
196
197
198details ul li a span:first-child,
199details ul li button span:first-child {
200 flex: 1;
201 min-width: 0;
202 overflow: hidden;
203 text-overflow: ellipsis;
204 white-space: nowrap;
205 color: var(--primary);
206}
207
208
209details ul li button span:first-child { transition: opacity .1s; }
210details ul li button span:nth-child(2) {
211 flex-shrink: 0;
212 min-width: 4rem;
213 text-align: right;
214 color: var(--secondary);
215}
216
217
218details ul li a span:not(:first-child) {
219 flex-shrink: 0;
220 color: var(--secondary);
221}