madebydanny.uk written in html, css, and a lot of JavaScript I don't understand madebydanny.uk
html css javascript
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at main 479 lines 9.6 kB view raw
1/* ============================================ 2 madebydanny.uk — personal stylesheet 3 ============================================ */ 4 5:root { 6 --bg: #0e0d0c; 7 --bg-raised: #171512; 8 --bg-card: #1a1815; 9 --border: #2d2926; 10 --border-hover:#4a4238; 11 12 --text: #e8e0d8; 13 --text-muted: #8a7f74; 14 --text-dim: #584f47; 15 16 --accent: #c9a96e; /* warm gold */ 17 --accent-dim: rgba(201, 169, 110, 0.12); 18 19 --font-serif: 'Lota', Georgia, 'Times New Roman', serif; 20 --font-mono: 'Sometype Mono', 'Monaco', 'Courier New', monospace; 21 --font-sans: 'DM Sans', system-ui, sans-serif; 22 23 --radius: 10px; 24 --transition: 0.2s ease; 25 26 --max-w: 680px; 27} 28 29*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } 30 31html { scroll-behavior: smooth; } 32 33body { 34 font-family: var(--font-serif); 35 font-size: 16px; 36 line-height: 1.7; 37 color: var(--text); 38 background-color: var(--bg); 39 -webkit-font-smoothing: antialiased; 40} 41 42/* ── Typography ── */ 43 44h1, h2, h3 { 45 font-family: var(--font-mono); 46 font-weight: 600; 47 line-height: 1.2; 48} 49 50a { 51 color: var(--accent); 52 text-decoration: none; 53 transition: opacity var(--transition); 54} 55a:hover { opacity: 0.75; } 56 57code { 58 font-family: var(--font-mono); 59 font-size: 0.875em; 60 background: var(--bg-raised); 61 padding: 0.15em 0.4em; 62 border-radius: 4px; 63} 64 65/* ── Header ── */ 66 67.site-header { 68 position: sticky; 69 top: 0; 70 z-index: 100; 71 background: rgba(14, 13, 12, 0.92); 72 backdrop-filter: blur(12px); 73 border-bottom: 1px solid var(--border); 74} 75 76.nav-container { 77 max-width: var(--max-w); 78 margin: 0 auto; 79 padding: 0.875rem 1.5rem; 80 display: flex; 81 justify-content: space-between; 82 align-items: center; 83} 84 85.nav-logo { 86 font-family: var(--font-serif); 87 font-style: italic; 88 font-size: 1.25rem; 89 color: var(--text); 90} 91.nav-logo:hover { opacity: 0.6; } 92 93.nav-menu { 94 list-style: none; 95 display: flex; 96 gap: 1.5rem; 97} 98 99.nav-menu a { 100 font-size: 0.875rem; 101 color: var(--text-muted); 102 letter-spacing: 0.01em; 103} 104.nav-menu a:hover { color: var(--text); opacity: 1; } 105 106/* ── Main ── */ 107 108.main-content { 109 max-width: var(--max-w); 110 margin: 0 auto; 111 padding: 0 1.5rem; 112} 113 114/* ── Hero ── */ 115 116.hero { 117 padding: 4rem 0 3rem; 118} 119 120.hero-eyebrow { 121 font-size: 0.875rem; 122 color: var(--text-muted); 123 margin-bottom: 0.25rem; 124 letter-spacing: 0.04em; 125} 126 127.hero-title { 128 font-size: clamp(2.5rem, 6vw, 3.5rem); 129 color: var(--text); 130 margin-bottom: 1.25rem; 131 letter-spacing: -0.02em; 132} 133 134.hero-bio { 135 font-size: 1.0625rem; 136 color: var(--text-muted); 137 line-height: 1.8; 138 max-width: 560px; 139 margin-bottom: 1.5rem; 140} 141 142.hero-bio a { 143 color: var(--accent); 144 border-bottom: 1px solid var(--accent-dim); 145 transition: border-color var(--transition), opacity var(--transition); 146} 147.hero-bio a:hover { 148 opacity: 1; 149 border-bottom-color: var(--accent); 150} 151 152.visitor-badge { 153 display: inline-block; 154 font-size: 0.8125rem; 155 color: var(--text-muted); 156 background: var(--bg-raised); 157 border: 1px solid var(--border); 158 padding: 0.25rem 0.875rem; 159 border-radius: 999px; 160 letter-spacing: 0.01em; 161} 162 163/* ── Sections ── */ 164 165.content-section { 166 padding: 2.5rem 0; 167 border-top: 1px solid var(--border); 168} 169 170.section-label { 171 font-family: var(--font-sans); 172 font-size: 0.75rem; 173 font-weight: 500; 174 text-transform: uppercase; 175 letter-spacing: 0.1em; 176 color: var(--text-dim); 177 margin-bottom: 1.25rem; 178} 179 180/* ── Cards ── */ 181 182.card { 183 background: var(--bg-card); 184 border: 1px solid var(--border); 185 border-radius: var(--radius); 186 overflow: hidden; 187 transition: border-color var(--transition); 188} 189.card:hover { border-color: var(--border-hover); } 190 191.card-inner { 192 display: flex; 193 align-items: flex-start; 194 gap: 1rem; 195 padding: 1.25rem; 196} 197 198.card-icon { 199 font-size: 1.25rem; 200 color: var(--accent); 201 flex-shrink: 0; 202 margin-top: 0.1rem; 203} 204 205.card-text { 206 flex: 1; 207 font-size: 0.9375rem; 208 color: var(--text-muted); 209 padding: 1.25rem; 210 line-height: 1.75; 211} 212 213/* when card-text is inside card-inner, don't double-pad */ 214.card-inner .card-text { 215 padding: 0; 216} 217 218.card-meta { 219 font-size: 0.8125rem; 220 color: var(--text-dim); 221 padding: 0.75rem 1.25rem; 222 border-top: 1px solid var(--border); 223} 224 225.card-text a { 226 color: var(--accent); 227} 228 229.loading-text { 230 color: var(--text-dim); 231 font-style: italic; 232} 233 234/* Music card specifics */ 235.track-name { 236 display: block; 237 font-family: var(--font-serif); 238 font-size: 1.0625rem; 239 color: var(--text); 240 margin-bottom: 0.2rem; 241} 242 243.track-artist { 244 font-size: 0.875rem; 245 color: var(--text-muted); 246} 247 248/* Post images */ 249#post-media img { 250 width: 100%; 251 height: auto; 252 display: block; 253 border-top: 1px solid var(--border); 254} 255 256/* ── Social list ── */ 257 258.social-list { 259 list-style: none; 260 display: flex; 261 flex-direction: column; 262 gap: 0.125rem; 263} 264 265.social-item { 266 display: flex; 267 align-items: center; 268 gap: 0.875rem; 269 padding: 0.875rem 1rem; 270 border-radius: var(--radius); 271 color: var(--text); 272 transition: background var(--transition), color var(--transition); 273 text-decoration: none; 274 border: 1px solid transparent; 275} 276.social-item:hover { 277 background: var(--bg-card); 278 border-color: var(--border); 279 opacity: 1; 280} 281 282.social-item i { 283 font-size: 1.125rem; 284 color: var(--accent); 285 width: 1.5rem; 286 text-align: center; 287 flex-shrink: 0; 288} 289 290.social-item > span:first-of-type { 291 font-size: 0.9375rem; 292 font-weight: 500; 293 color: var(--text); 294 min-width: 5rem; 295} 296 297.social-handle { 298 font-size: 0.8125rem; 299 color: var(--text-muted); 300 margin-left: auto; 301 font-family: var(--font-mono); 302} 303 304/* ── Link grid ── */ 305 306.link-grid { 307 display: grid; 308 grid-template-columns: repeat(2, 1fr); 309 gap: 0.75rem; 310} 311 312.grid-link { 313 display: flex; 314 flex-direction: column; 315 gap: 0.25rem; 316 padding: 1.125rem; 317 background: var(--bg-card); 318 border: 1px solid var(--border); 319 border-radius: var(--radius); 320 text-decoration: none; 321 transition: border-color var(--transition), transform var(--transition); 322} 323.grid-link:hover { 324 border-color: var(--accent); 325 transform: translateY(-1px); 326 opacity: 1; 327} 328 329.grid-link-title { 330 font-family: var(--font-serif); 331 font-size: 1rem; 332 color: var(--text); 333 line-height: 1.3; 334} 335 336.grid-link-desc { 337 font-size: 0.8125rem; 338 color: var(--text-muted); 339 line-height: 1.4; 340} 341 342/* ── Footer ── */ 343 344.site-footer { 345 max-width: var(--max-w); 346 margin: 0 auto; 347 padding: 2.5rem 1.5rem 3rem; 348 border-top: 1px solid var(--border); 349 font-size: 0.8125rem; 350 color: var(--text-dim); 351 line-height: 1.8; 352} 353 354.site-footer a { color: var(--text-muted); } 355.site-footer a:hover { color: var(--text); opacity: 1; } 356 357.footer-tor { margin-top: 0.25rem; } 358 359/* ── Responsive ── */ 360 361@media (max-width: 600px) { 362 .hero { padding: 2.5rem 0 2rem; } 363 364 .link-grid { grid-template-columns: 1fr; } 365 366 .social-handle { display: none; } 367 368 .nav-menu { display: none; } 369} 370 371/* ── Section label "more" link ── */ 372 373.section-label { 374 display: flex; 375 align-items: baseline; 376 gap: 0.75rem; 377} 378 379.section-more { 380 font-size: 0.75rem; 381 color: var(--text-dim); 382 font-weight: 400; 383 letter-spacing: 0.02em; 384 text-transform: none; 385 border-bottom: 1px solid transparent; 386 transition: color var(--transition), border-color var(--transition); 387} 388.section-more:hover { 389 color: var(--accent); 390 border-bottom-color: var(--accent); 391 opacity: 1; 392} 393 394/* ── Home photo strip ── */ 395 396.photo-strip { 397 display: grid; 398 grid-template-columns: repeat(4, 1fr); 399 gap: 0.5rem; 400} 401 402.photo-strip-item { 403 aspect-ratio: 1 / 1; 404 overflow: hidden; 405 border-radius: 6px; 406 border: 1px solid var(--border); 407 cursor: pointer; 408 background: var(--bg-card); 409 transition: border-color var(--transition), transform var(--transition); 410} 411.photo-strip-item:hover { 412 border-color: var(--accent); 413 transform: scale(1.02); 414} 415 416.photo-strip-item img { 417 width: 100%; 418 height: 100%; 419 object-fit: cover; 420 display: block; 421 transition: opacity var(--transition); 422} 423 424/* ── Photo modal ── */ 425 426.photo-modal { 427 position: fixed; 428 inset: 0; 429 z-index: 200; 430 background: rgba(10, 9, 8, 0.92); 431 backdrop-filter: blur(8px); 432 display: flex; 433 align-items: center; 434 justify-content: center; 435 padding: 1.5rem; 436 opacity: 0; 437 pointer-events: none; 438 transition: opacity 0.2s ease; 439} 440.photo-modal.active { 441 opacity: 1; 442 pointer-events: all; 443} 444 445.modal-img { 446 max-width: 100%; 447 max-height: 90vh; 448 border-radius: 8px; 449 object-fit: contain; 450 box-shadow: 0 24px 60px rgba(0, 0, 0, 0.6); 451} 452 453.modal-close { 454 position: absolute; 455 top: 1.25rem; 456 right: 1.25rem; 457 background: var(--bg-card); 458 border: 1px solid var(--border); 459 border-radius: 50%; 460 width: 2.25rem; 461 height: 2.25rem; 462 display: flex; 463 align-items: center; 464 justify-content: center; 465 color: var(--text-muted); 466 font-size: 0.875rem; 467 cursor: pointer; 468 transition: border-color var(--transition), color var(--transition); 469} 470.modal-close:hover { 471 border-color: var(--accent); 472 color: var(--accent); 473} 474 475@media (max-width: 600px) { 476 .photo-strip { 477 grid-template-columns: repeat(3, 1fr); 478 } 479}