/* ── Explore dropdown nav ── */ /* Wrapper li needs relative positioning for the dropdown panel */ .nav-has-dropdown { position: relative; } /* Invisible bridge pseudo-element fills the gap between the nav link and the dropdown panel so the hover state isn't broken when moving the mouse down */ .nav-has-dropdown::after { content: ''; position: absolute; top: 100%; left: -8px; right: -8px; height: 12px; } /* Show the dropdown on hover (desktop) and when focus is inside (keyboard/touch) */ .nav-has-dropdown:hover .nav-dropdown, .nav-has-dropdown:focus-within .nav-dropdown { display: block; } /* Dropdown panel */ .nav-dropdown { display: none; position: absolute; top: calc(100% + 8px); right: 0; min-width: 180px; list-style: none; margin: 0; padding: 6px 0; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: 4px; box-shadow: 0 4px 16px rgba(44, 36, 22, 0.10); z-index: 200; } .nav-dropdown li { display: block; } .nav-dropdown a { display: block; padding: 7px 16px; font-size: 15px; color: var(--color-secondary); white-space: nowrap; text-decoration: none; transition: background 100ms ease, color 100ms ease; } .nav-dropdown a:hover { background: var(--color-neutral); color: var(--color-primary); } /* Subtle arrow nudge so it's clear it's a dropdown trigger */ .nav-arrow { font-size: 11px; opacity: 0.6; vertical-align: middle; } /* ── Homepage post list improvements ── */ /* Slightly more breathing room between entries */ .post-list__entry { padding-bottom: 1.4rem; margin-bottom: 1.4rem; } /* Description/excerpt text under each post title */ .post-list__excerpt { margin-top: 0.3rem; font-size: 0.9rem; color: var(--color-secondary); line-height: 1.55; } /* Pagination controls at bottom of homepage */ .post-list-pagination { display: flex; justify-content: space-between; align-items: center; padding-top: 1.5rem; border-top: 1px solid var(--color-border); font-size: 0.875rem; color: var(--color-tertiary); } .post-list-pagination a { color: var(--color-accent); text-decoration: none; font-weight: 500; } .post-list-pagination a:hover { text-decoration: underline; } /* ── Homepage tools section ── */ .homepage-tools { margin-bottom: 2.5rem; } .homepage-tools__heading { font-size: 0.75rem; font-family: 'IBM Plex Mono', 'Courier New', monospace; font-weight: 400; letter-spacing: 0.08em; text-transform: uppercase; color: var(--color-tertiary); margin-bottom: 0.85rem; } .homepage-tools__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 0.75rem; } .tool-card { display: flex; flex-direction: column; gap: 0.3rem; padding: 0.9rem 1rem; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: 5px; text-decoration: none; transition: border-color 150ms ease, box-shadow 150ms ease; } .tool-card:hover { border-color: var(--color-tertiary); box-shadow: 0 2px 8px rgba(44, 36, 22, 0.07); } .tool-card__icon { font-size: 1.25rem; line-height: 1; } .tool-card__name { font-size: 0.9375rem; font-weight: 600; color: var(--color-primary); } .tool-card__desc { font-size: 0.8125rem; color: var(--color-secondary); line-height: 1.4; }