apps/bookmarks/static/styles.css 3.0 K raw
1
/* feeds — app-specific styles.
2
 * Shared reset / tokens / components come from /assets/darkmatter.css.
3
 */
4
5
/* The logo wraps an h1 in feeds markup. */
6
7
.logo h1 {
8
  font-size: 28px;
9
  font-weight: 700;
10
  text-transform: uppercase;
11
}
12
13
.about {
14
  display: flex;
15
  flex-direction: column;
16
  gap: 0.5rem;
17
  font-size: 14px;
18
  line-height: 1.25rem;
19
}
20
21
/* Feeds list */
22
23
.feeds-list {
24
  width: 100%;
25
  display: flex;
26
  flex-direction: column;
27
  gap: 1.5rem;
28
}
29
30
.feed-item {
31
  display: flex;
32
  flex-direction: column;
33
  gap: 0.5rem;
34
  padding: 1rem 0;
35
  border-bottom: 1px solid #333;
36
}
37
38
.feed-item:last-child {
39
  border-bottom: none;
40
}
41
42
.feed-meta {
43
  display: flex;
44
  justify-content: space-between;
45
  align-items: center;
46
  font-size: 12px;
47
  opacity: 0.5;
48
}
49
50
.feed-source {
51
  font-weight: 700;
52
}
53
54
.feed-title {
55
  font-size: 16px;
56
  font-weight: 400;
57
  line-height: 1.4;
58
}
59
60
.feed-title a {
61
  text-decoration: none;
62
}
63
64
.feed-author {
65
  font-size: 12px;
66
  opacity: 0.5;
67
  font-style: italic;
68
}
69
70
#feed-urls {
71
  font-size: 12px;
72
  opacity: 0.5;
73
}
74
75
.no-feeds,
76
#loading {
77
  text-align: center;
78
  opacity: 0.5;
79
  padding: 2rem;
80
}
81
82
#error {
83
  text-align: center;
84
  padding: 2rem;
85
}
86
87
/* Admin forms */
88
89
.admin-form {
90
  display: flex;
91
  flex-direction: column;
92
  gap: 0.75rem;
93
  width: 100%;
94
}
95
96
.admin-form h3 {
97
  font-size: 14px;
98
  font-weight: 400;
99
  opacity: 0.5;
100
}
101
102
.admin-notice,
103
.hint {
104
  font-size: 12px;
105
  opacity: 0.5;
106
  line-height: 1.4;
107
}
108
109
/* Discover panel */
110
111
.discover-row {
112
  display: flex;
113
  gap: 0.5rem;
114
  width: 100%;
115
}
116
117
.discover-row input {
118
  flex: 1;
119
}
120
121
.discover-status {
122
  font-size: 12px;
123
}
124
125
.discover-results {
126
  display: flex;
127
  flex-direction: column;
128
  gap: 0.25rem;
129
  width: 100%;
130
}
131
132
.discover-result-item {
133
  background: #121113;
134
  color: #ffffff;
135
  border: 1px solid #333;
136
  padding: 8px 10px;
137
  font-size: 12px;
138
  text-align: left;
139
  cursor: pointer;
140
  width: 100%;
141
  white-space: nowrap;
142
  overflow: hidden;
143
  text-overflow: ellipsis;
144
  opacity: 0.7;
145
  border-radius: 0;
146
  -webkit-appearance: none;
147
  appearance: none;
148
}
149
150
.discover-result-item:hover {
151
  border-color: #555;
152
  opacity: 1;
153
}
154
155
.discover-result-item.active {
156
  border-color: #ffffff;
157
  opacity: 1;
158
}
159
160
/* Admin subs */
161
162
.admin-subs {
163
  width: 100%;
164
  display: flex;
165
  flex-direction: column;
166
  gap: 1rem;
167
}
168
169
.admin-subs h3 {
170
  font-size: 14px;
171
  opacity: 0.5;
172
  font-weight: 400;
173
}
174
175
.feed-item form.inline {
176
  display: flex;
177
  gap: 0.5rem;
178
  align-items: center;
179
}
180
181
.feed-item form.inline input {
182
  flex: 1;
183
}
184
185
/* Generic .danger on buttons (used in admin) */
186
187
button.danger,
188
.btn.danger {
189
  opacity: 0.5;
190
}
191
192
button.danger:hover,
193
.btn.danger:hover {
194
  opacity: 0.3;
195
}
196
197
/* Category list (admin) */
198
199
.category-list {
200
  list-style: none;
201
  margin-left: 0;
202
}
203
204
.category-list li {
205
  display: flex;
206
  justify-content: space-between;
207
  align-items: center;
208
  padding: 0.25rem 0;
209
}
210
211
@media (max-width: 480px) {
212
  .feed-meta {
213
    flex-direction: column;
214
    align-items: flex-start;
215
    gap: 0.25rem;
216
  }
217
218
  .feed-title {
219
    font-size: 14px;
220
  }
221
}