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 @@