/* opensource.day */
* { margin: 0; padding: 0; box-sizing: border-box; }
body { background: #ffffff; color: #1a1a1a; font-family: 'Inter', sans-serif; font-weight: 400; line-height: 1.8; }
.hero { text-align: center; padding: 6rem 2rem 3rem; }
.day-counter { font-family: 'IBM Plex Mono', monospace; font-size: 0.6rem; color: #a3a3a3; display: block; margin-bottom: 0.5rem; }
.brand { font-family: 'Cormorant', serif; font-weight: 400; font-size: clamp(1.2rem, 2.5vw, 1.5rem); }
.date-display { font-family: 'Cormorant', serif; font-weight: 300; font-size: clamp(3rem, 7vw, 4.5rem); color: #a3a3a3; margin-top: 2rem; }
.thin-rule { height: 0.5px; background: #e5e5e5; max-width: 560px; margin: 0 auto; }
.feature { max-width: 560px; margin: 0 auto; padding: 3rem 2rem; }
.highlight-block { background: #dbeafe; padding: 2rem; border-radius: 4px; }
.commit-hash { font-family: 'IBM Plex Mono', monospace; font-size: 0.6rem; color: #2563eb; display: block; margin-bottom: 0.75rem; }
.feature-title { font-family: 'Cormorant', serif; font-weight: 400; font-size: clamp(1.2rem, 2.5vw, 1.6rem); line-height: 1.4; margin-bottom: 1rem; }
.feature-desc { font-size: 0.8rem; color: #737373; margin-bottom: 1rem; }
.feature-author { font-family: 'IBM Plex Mono', monospace; font-size: 0.6rem; color: #737373; }
.contributors { max-width: 560px; margin: 0 auto; padding: 3rem 2rem; text-align: center; }
.avatar-row { display: flex; justify-content: center; gap: 1.5rem; flex-wrap: wrap; }
.avatar-item { display: flex; flex-direction: column; align-items: center; gap: 0.4rem; }
.avatar { width: 40px; height: 40px; border-radius: 50%; background: #6366f1; display: block; }
.avatar-name { font-family: 'IBM Plex Mono', monospace; font-size: 0.55rem; color: #737373; }
.archive { text-align: center; padding: 3rem 2rem 5rem; }
.archive-link { font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.12em; color: #a3a3a3; }
.fade-in { opacity: 0; transform: translateY(12px); transition: opacity 0.5s ease, transform 0.5s ease; }
.fade-in.visible { opacity: 1; transform: translateY(0); }
