|
104 | 104 | .density-btn + .density-btn { border-left: 1px solid var(--border); } |
105 | 105 | .density-btn:hover { color: var(--select); } |
106 | 106 | .density-btn.active { background: var(--select); color: #1a1b1e; } |
| 107 | + /* Segmented groups clip overflow, so the ring has to sit inside. */ |
| 108 | + .density-btn:focus-visible, .chip:focus-visible { outline-offset: -2px; } |
| 109 | + .sort select { background: var(--surface-2); border: 1px solid var(--border); color: var(--text-dim); |
| 110 | + border-radius: var(--radius); padding: 0.3rem 0.5rem; cursor: pointer; |
| 111 | + font-family: var(--font-mono); font-size: 0.68rem; letter-spacing: 0.04em; text-transform: uppercase; } |
| 112 | + .sort select:hover, .sort select:focus { color: var(--select); border-color: var(--select); outline: none; } |
107 | 113 | .tags-toggle { display: none; background: var(--surface-2); border: 1px solid var(--border); |
108 | 114 | color: var(--text-dim); border-radius: 3px; padding: 0.3rem 0.7rem; cursor: pointer; |
109 | 115 | font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.04em; text-transform: uppercase; } |
|
123 | 129 | transition: color 0.15s, border-color 0.15s; } |
124 | 130 | .chip:hover { color: var(--select); border-color: var(--select); } |
125 | 131 | .chip.active { color: #1a1b1e; background: var(--select); border-color: var(--select); } |
| 132 | + @media (max-width: 559px) { |
| 133 | + .controls-inner { padding: 0.45rem 1rem 0.5rem; gap: 0.4rem; } |
| 134 | + .controls-row { gap: 0.4rem; } |
| 135 | + .searchwrap { flex-basis: 100%; } |
| 136 | + .count { position: absolute; width: 1px; height: 1px; overflow: hidden; |
| 137 | + clip: rect(0 0 0 0); white-space: nowrap; } |
| 138 | + .density-btn { padding: 0.36rem 0.5rem; } |
| 139 | + } |
126 | 140 | @media (max-width: 719px) { |
127 | 141 | html.js .tags-toggle { display: inline-block; } |
128 | 142 | html.js .chips { display: none; } |
|
160 | 174 | transition: outline-color 0.12s ease, border-color 0.12s ease; } |
161 | 175 | .card:hover { border-color: var(--select); outline-color: var(--select); } |
162 | 176 | .card.hidden { display: none; } |
163 | | - .card-media { display: block; background: var(--bg2); line-height: 0; } |
164 | | - .card-media img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; } |
| 177 | + .card-media { display: block; background: var(--bg2); line-height: 0; overflow: hidden; } |
| 178 | + .card-media img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; |
| 179 | + transition: transform 0.35s ease, opacity 0.3s ease; } |
| 180 | + .card:hover .card-media img { transform: scale(1.03); } |
| 181 | + html.js .grid .card-media img { opacity: 0; } |
| 182 | + html.js .grid .card-media img.is-loaded { opacity: 1; } |
165 | 183 | .card-body { padding: 1.15rem 1.4rem 1.45rem; display: flex; flex-direction: column; flex: 1 1 auto; } |
166 | 184 | .card-body h2 { font-family: var(--font-mono); font-size: 1rem; font-weight: 400; margin-bottom: 0.5rem; } |
167 | 185 | .card-body h2 a { color: var(--text); } |
|
200 | 218 | .md h1, .md h2, .md h3 { letter-spacing: -0.01em; margin: 1.4rem 0 0.6rem; line-height: 1.25; } |
201 | 219 | .md h1 { font-size: 1.35rem; } .md h2 { font-size: 1.15rem; } .md h3 { font-size: 1rem; } |
202 | 220 | .md p { margin: 0.7rem 0; } |
| 221 | + .md > p, .md > ul, .md > ol, .md > h2, .md > h3 { max-width: 75ch; } |
203 | 222 | .md ul, .md ol { margin: 0.7rem 0 0.7rem 1.4rem; } |
204 | 223 | .md li { margin: 0.3rem 0; } |
205 | 224 | .md .table-wrap { overflow-x: auto; margin: 0.9rem 0; } |
|
306 | 325 | } |
307 | 326 | @media (prefers-reduced-motion: reduce) { |
308 | 327 | html { scroll-behavior: auto; } |
309 | | - .card { transition: none; } |
310 | | - .card:hover { transform: none; } |
| 328 | + .card, .card-media img { transition: none; } |
| 329 | + .card:hover .card-media img { transform: none; } |
311 | 330 | .to-top { transition: none; } |
312 | 331 | } |
313 | 332 | </style> |
|
0 commit comments