Skip to content

Commit c95545f

Browse files
committed
Fix Reddit and Discord SVG icons; sync local changes
1 parent fd3f11e commit c95545f

10 files changed

Lines changed: 455 additions & 35 deletions

File tree

codriver/meta.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
"lastUpdated": "3 months ago"
2+
"lastUpdated": "2026-04-01T00:00:00.000Z"
33
}

css/components.css

Lines changed: 306 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,306 @@
1+
/* === TAGS === */
2+
.tag {
3+
display: inline-block;
4+
font-size: 0.7rem;
5+
font-weight: 700;
6+
padding: 2px 8px;
7+
border-radius: var(--radius-sm);
8+
text-transform: uppercase;
9+
letter-spacing: 0.5px;
10+
line-height: 1.4;
11+
}
12+
13+
.tag-game {
14+
background: rgba(34, 197, 94, 0.2);
15+
color: var(--color-game);
16+
}
17+
18+
.tag-tool {
19+
background: rgba(56, 189, 248, 0.2);
20+
color: var(--color-tool);
21+
}
22+
23+
.tag-ai {
24+
background: rgba(168, 85, 247, 0.2);
25+
color: var(--color-ai);
26+
}
27+
.tag-featured {
28+
background: rgba(245, 158, 11, 0.2);
29+
color: var(--color-featured);
30+
}
31+
/* === CATEGORY SECTION === */
32+
.category-section {
33+
margin-bottom: var(--space-2xl);
34+
scroll-margin-top: 60px;
35+
}
36+
37+
.category-title {
38+
font-size: 1.5rem;
39+
font-weight: 700;
40+
margin: 0 0 var(--space-lg);
41+
padding-bottom: var(--space-sm);
42+
border-bottom: 3px solid var(--color-primary);
43+
display: inline-block;
44+
}
45+
46+
.category-title .tag {
47+
vertical-align: middle;
48+
margin-left: var(--space-sm);
49+
}
50+
51+
/* === FILTER BAR === */
52+
.filter-bar {
53+
width: 100%;
54+
max-width: 900px;
55+
margin: var(--space-xl) auto;
56+
display: flex;
57+
flex-direction: column;
58+
gap: var(--space-md);
59+
}
60+
61+
.search-input {
62+
width: 100%;
63+
padding: 12px 16px;
64+
border: 2px solid var(--color-border);
65+
border-radius: var(--radius-md);
66+
background: var(--color-bg-card);
67+
color: var(--color-text);
68+
font: 500 1rem/1.4 var(--font-main);
69+
transition: border-color var(--transition-base);
70+
box-sizing: border-box;
71+
}
72+
73+
.search-input:focus {
74+
outline: none;
75+
border-color: var(--color-accent);
76+
}
77+
78+
.search-input::placeholder {
79+
color: var(--color-text-dim);
80+
}
81+
82+
.filter-buttons {
83+
display: flex;
84+
flex-wrap: wrap;
85+
gap: var(--space-sm);
86+
}
87+
88+
.filter-btn {
89+
padding: 8px 16px;
90+
border: 1px solid var(--color-border);
91+
border-radius: var(--radius-md);
92+
background: transparent;
93+
color: var(--color-text-muted);
94+
font: 600 0.85rem/1 var(--font-main);
95+
cursor: pointer;
96+
transition: all var(--transition-fast);
97+
min-height: 40px;
98+
}
99+
100+
.filter-btn:hover {
101+
border-color: var(--color-accent);
102+
color: var(--color-accent);
103+
}
104+
105+
.filter-btn.active {
106+
background: var(--color-primary);
107+
border-color: var(--color-primary);
108+
color: var(--color-text);
109+
}
110+
111+
.filter-btn[data-filter="game"].active {
112+
background: rgba(34, 197, 94, 0.2);
113+
border-color: var(--color-game);
114+
color: var(--color-game);
115+
}
116+
117+
.filter-btn[data-filter="tool"].active {
118+
background: rgba(56, 189, 248, 0.2);
119+
border-color: var(--color-tool);
120+
color: var(--color-tool);
121+
}
122+
123+
.filter-btn[data-filter="ai"].active {
124+
background: rgba(168, 85, 247, 0.2);
125+
border-color: var(--color-ai);
126+
color: var(--color-ai);
127+
}
128+
129+
/* === PROJECT GRID === */
130+
.project-grid {
131+
width: 100%;
132+
max-width: 900px;
133+
}
134+
135+
.game-list {
136+
width: 100%;
137+
display: grid;
138+
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
139+
gap: 1.5rem;
140+
}
141+
142+
.game-card {
143+
position: relative;
144+
background: var(--color-bg-card);
145+
padding: 1rem;
146+
border-radius: var(--radius-lg);
147+
text-align: center;
148+
display: flex;
149+
flex-direction: column;
150+
transition: transform var(--transition-fast), background var(--transition-fast);
151+
}
152+
153+
.game-card:hover {
154+
transform: scale(1.03);
155+
background: var(--color-bg-card-hover);
156+
}
157+
158+
.game-card a {
159+
display: flex;
160+
flex-direction: column;
161+
flex: 1;
162+
text-decoration: none;
163+
color: var(--color-accent);
164+
font-weight: 700;
165+
font-size: 1.1rem;
166+
}
167+
.game-card p {
168+
margin-top: 0.5rem;
169+
font-size: 0.85rem;
170+
color: var(--color-text-muted);
171+
flex: 1;
172+
line-height: 1.4;
173+
}
174+
175+
.game-card .new-tag {
176+
display: inline-block;
177+
background: var(--color-primary);
178+
color: var(--color-text);
179+
font-size: 0.65rem;
180+
font-weight: 600;
181+
padding: 1px 6px;
182+
border-radius: var(--radius-sm);
183+
text-transform: uppercase;
184+
letter-spacing: 0.5px;
185+
margin-bottom: 4px;
186+
align-self: flex-start;
187+
}
188+
189+
.game-card .card-tags {
190+
display: flex;
191+
gap: 4px;
192+
margin-bottom: var(--space-sm);
193+
flex-wrap: wrap;
194+
justify-content: center;
195+
min-height: 20px;
196+
}
197+
198+
.game-card .card-desc {
199+
display: block;
200+
margin-top: 0.5rem;
201+
}
202+
203+
.game-card .card-footer {
204+
margin-top: auto;
205+
padding-top: var(--space-sm);
206+
}
207+
208+
.game-card .card-status {
209+
display: inline-block;
210+
font-size: 0.7rem;
211+
color: var(--color-text-dim);
212+
}
213+
214+
.category-section.hidden {
215+
display: none;
216+
}
217+
218+
.game-card.hidden {
219+
display: none;
220+
}
221+
222+
/* === PRIVACY NOTE === */
223+
.privacy-note {
224+
background: rgba(25, 51, 110, 0.15);
225+
border: 1px solid rgba(25, 51, 110, 0.4);
226+
border-radius: var(--radius-md);
227+
padding: var(--space-md) var(--space-lg);
228+
margin: var(--space-md) 0;
229+
font-size: 0.85rem;
230+
color: var(--color-text-muted);
231+
line-height: 1.5;
232+
}
233+
234+
.privacy-note strong {
235+
color: var(--color-text);
236+
}
237+
238+
.privacy-note a {
239+
color: var(--color-accent);
240+
text-decoration: none;
241+
}
242+
243+
.privacy-note a:hover {
244+
text-decoration: underline;
245+
}
246+
247+
/* === RESPONSIVE === */
248+
@media (max-width: 768px) {
249+
.category-title {
250+
font-size: 1.25rem;
251+
}
252+
253+
.game-list {
254+
grid-template-columns: 1fr;
255+
gap: 1rem;
256+
}
257+
258+
.game-card {
259+
padding: 0.8rem;
260+
}
261+
262+
.filter-bar {
263+
margin: var(--space-lg) auto;
264+
}
265+
266+
.search-input {
267+
padding: 10px 14px;
268+
font-size: 0.95rem;
269+
}
270+
271+
.filter-btn {
272+
padding: 6px 12px;
273+
font-size: 0.8rem;
274+
}
275+
}
276+
277+
@media (max-width: 480px) {
278+
.filter-buttons {
279+
gap: 6px;
280+
}
281+
282+
.filter-btn {
283+
font-size: 0.75rem;
284+
padding: 6px 10px;
285+
min-height: 36px;
286+
}
287+
288+
.game-list {
289+
gap: 0.8rem;
290+
}
291+
}
292+
293+
@media (max-width: 360px) {
294+
.game-card a {
295+
font-size: 1rem;
296+
}
297+
298+
.game-card p {
299+
font-size: 0.8rem;
300+
}
301+
302+
.filter-btn {
303+
font-size: 0.7rem;
304+
padding: 4px 8px;
305+
}
306+
}

css/theme.css

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
:root {
2+
--color-bg: #111;
3+
--color-bg-card: #222;
4+
--color-bg-card-hover: #2a2a2a;
5+
--color-primary: #19336e;
6+
--color-primary-hover: #244990;
7+
--color-accent: #38bdf8;
8+
--color-accent-hover: #7dd3fc;
9+
--color-text: #fff;
10+
--color-text-muted: #ccc;
11+
--color-text-dim: #999;
12+
--color-disabled: #555;
13+
--color-border: #333;
14+
--color-game: #22c55e;
15+
--color-tool: #38bdf8;
16+
--color-ai: #a855f7;
17+
--color-featured: #f59e0b;
18+
19+
--font-main: 'Segoe UI', system-ui, -apple-system, sans-serif;
20+
--font-heading: 'Segoe UI', system-ui, -apple-system, sans-serif;
21+
--font-mono: 'Cascadia Code', 'Fira Code', 'Consolas', monospace;
22+
23+
--space-xs: 0.25rem;
24+
--space-sm: 0.5rem;
25+
--space-md: 1rem;
26+
--space-lg: 1.5rem;
27+
--space-xl: 2rem;
28+
--space-2xl: 4rem;
29+
30+
--radius-sm: 4px;
31+
--radius-md: 8px;
32+
--radius-lg: 12px;
33+
34+
--transition-fast: 0.15s ease;
35+
--transition-base: 0.3s ease;
36+
}

currency-converter/meta.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
"lastUpdated": "Unknown"
2+
"lastUpdated": "2026-01-01T00:00:00.000Z"
33
}

0 commit comments

Comments
 (0)