diff --git a/content/_index.md b/content/_index.md index fecca50..e26699c 100644 --- a/content/_index.md +++ b/content/_index.md @@ -75,9 +75,9 @@ Built for modern PHP development with functional programming principles {% end %} {% feature_card(title="Modern Tooling", description="Comprehensive development tools and ecosystem", icon='') %} +
  • • Plugin support
  • • Package management
  • • Testing frameworks
  • -
  • • Development server
  • {% end %} {% end %} diff --git a/css/components/blog.css b/css/components/blog.css index d9cfa5d..30df7ce 100644 --- a/css/components/blog.css +++ b/css/components/blog.css @@ -20,11 +20,21 @@ text-decoration: none; transition: all var(--duration-fast) var(--ease-out); position: relative; - border-bottom: 1px solid var(--color-light-border); } .post-list li a::after { - display: none; + content: ''; + position: absolute; + bottom: 0; + left: 0; + width: 0; + height: 1px; + background: var(--color-light-link); + transition: width var(--duration-normal) var(--ease-out); +} + +.post-list li a:hover::after { + width: 100%; } /* Blog post title */ diff --git a/css/components/dark-mode.css b/css/components/dark-mode.css index a9a0040..e81439f 100644 --- a/css/components/dark-mode.css +++ b/css/components/dark-mode.css @@ -69,8 +69,7 @@ color: var(--color-dark-text-accent); } -.dark .site-header__navigation a[aria-current='page'], -.dark .site-header__navigation a.active { +.dark .site-header__navigation li.active a { color: var(--color-dark-text-accent); } @@ -400,13 +399,17 @@ } /* Dark mode navigation */ +.dark .site-navigation__entry a { + color: var(--color-dark-text-secondary); +} + .dark .site-navigation__entry a:hover { background: var(--color-dark-surface-hover); color: var(--color-dark-text-accent); } .dark .site-navigation__entry.active a { - color: #b0ceff; + color: var(--color-dark-text-accent); background: var(--color-dark-surface-hover); } @@ -415,6 +418,10 @@ border-bottom-color: var(--color-dark-border); } +.dark .post-list li a::after { + background: var(--color-dark-text-accent); +} + .dark .post-list li a h2 { color: var(--color-dark-text-primary); } @@ -652,6 +659,7 @@ .dark .search-results__item { border-bottom-color: var(--color-dark-border); + opacity: 0.7; } .dark .search-result-link { @@ -660,6 +668,7 @@ .dark .search-results__item:hover { background: var(--color-dark-surface-hover); + opacity: 0.8; } .dark .result-type-badge--api { diff --git a/css/components/documentation.css b/css/components/documentation.css index 47a404d..cb968b2 100644 --- a/css/components/documentation.css +++ b/css/components/documentation.css @@ -247,21 +247,21 @@ .api-namespace-toggle-text { font-size: var(--text-sm); font-weight: 600; - color: #0982b8; + color: var(--color-phel-primary); opacity: 0.8; transition: opacity var(--duration-fast) var(--ease-out); } .api-namespace-toggle:hover .api-namespace-toggle-text { opacity: 1; - color: #0982b8; + color: var(--color-phel-primary); } /* When hovering over collapsed area, highlight the toggle text */ .api-namespace-toggle[aria-expanded="false"] + .api-namespace-content.has-overflow:hover ~ .api-namespace-toggle .api-namespace-toggle-text, .api-index__entry:has(.api-namespace-content.has-overflow:hover) .api-namespace-toggle-text { opacity: 1; - color: #0982b8; + color: var(--color-phel-primary); } /* Update text content based on state */ @@ -275,7 +275,7 @@ .api-namespace-icon { flex-shrink: 0; - color: #0982b8; + color: var(--color-phel-primary); transition: transform var(--duration-normal) var(--ease-out); opacity: 0.8; width: 24px; @@ -284,13 +284,13 @@ .api-namespace-toggle:hover .api-namespace-icon { opacity: 1; - color: #0982b8; + color: var(--color-phel-primary); } /* When hovering over collapsed area, highlight the icon */ .api-index__entry:has(.api-namespace-content.has-overflow:hover) .api-namespace-icon { opacity: 1; - color: #0982b8; + color: var(--color-phel-primary); } /* Collapsed (closed) = chevron down (V), Expanded (open) = chevron up (^) */ @@ -366,7 +366,7 @@ .api-namespace-toggle[aria-expanded="false"] + .api-namespace-content.has-overflow::before { content: 'Expand'; position: absolute; - top: 60%; + top: 65%; left: 50%; transform: translate(-50%, -50%); padding: var(--space-sm) var(--space-lg); diff --git a/css/components/footer.css b/css/components/footer.css index c4a9ccf..00f831c 100644 --- a/css/components/footer.css +++ b/css/components/footer.css @@ -3,7 +3,7 @@ background: var(--color-light-bg-secondary); border-top: 1px solid var(--color-light-border); margin-top: var(--space-3xl); - padding: var(--space-2xl) 0 var(--space-xl); + padding: var(--space-2xl) 0 var(--space-lg); width: 100%; } @@ -113,6 +113,10 @@ letter-spacing: 0.05em; } +.footer-column:not(.footer-column-spacer) { + margin-top: 0; +} + .footer-column ul { list-style: none; padding: 0; @@ -143,6 +147,10 @@ color: var(--color-light-link); } +.footer-column-spacer { + display: none; +} + /* Footer Bottom Section */ .footer-bottom { margin-top: var(--space-2xl); @@ -207,7 +215,7 @@ /* Desktop Layout */ @media (min-width: 768px) { .site-footer { - padding: var(--space-3xl) 0 var(--space-2xl); + padding: var(--space-3xl) 0 var(--space-lg); } .footer-container { @@ -251,6 +259,10 @@ font-size: var(--text-base); } + .footer-column:not(.footer-column-spacer) { + margin-top: calc(1.5em + var(--space-lg) + var(--space-md)); + } + .footer-bottom { margin-top: var(--space-3xl); } @@ -274,7 +286,7 @@ /* Large Desktop Layout */ @media (min-width: 1040px) { .site-footer { - padding: var(--space-3xl) 0 var(--space-2xl); + padding: var(--space-3xl) 0 var(--space-lg); } .footer-container { @@ -282,6 +294,10 @@ gap: var(--space-3xl); } + .footer-column-spacer { + display: block; + } + .footer-bottom { margin-top: var(--space-3xl); } diff --git a/css/components/header.css b/css/components/header.css index 0398fd8..fa9847b 100644 --- a/css/components/header.css +++ b/css/components/header.css @@ -192,12 +192,12 @@ width: 100%; } - .site-header__navigation a.active { + .site-header__navigation li.active a { color: var(--color-light-link); font-weight: 600; } - .site-header__navigation a.active::after { + .site-header__navigation li.active a::after { width: 100%; height: 2px; } diff --git a/css/components/search.css b/css/components/search.css index df04d8a..6d9a25e 100644 --- a/css/components/search.css +++ b/css/components/search.css @@ -80,13 +80,15 @@ padding: var(--space-md) var(--space-xl) var(--space-lg) var(--space-lg) ; margin: var(--space-xs) 0; border-radius: var(--radius-lg); - transition: background-color var(--duration-fast) var(--ease-out); + transition: background-color var(--duration-fast) var(--ease-out), opacity var(--duration-fast) var(--ease-out); cursor: pointer; border-bottom: none; + opacity: 0.8; } .search-results__item:hover { background: var(--color-light-surface-hover); + opacity: 0.9; } .search-result-link { diff --git a/templates/footer.html b/templates/footer.html index 4fdad39..998528f 100644 --- a/templates/footer.html +++ b/templates/footer.html @@ -22,30 +22,23 @@ diff --git a/templates/header.html b/templates/header.html index b35b447..4e57b41 100644 --- a/templates/header.html +++ b/templates/header.html @@ -19,7 +19,7 @@