@ -3,14 +3,16 @@
@@ -3,14 +3,16 @@
: root {
--bg-primary : # 2d2d2d ;
--bg-secondary : # 1e1e1e ;
--text-primary : # e8e8e8 ;
--text-secondary : # b8b8b8 ;
--text-primary : # f0f0f0 ; /* Improved contrast from #e8e8e8 */
--text-secondary : # c0c0c0 ; /* Improved contrast from #b8b8b8 */
--link-color : # 7c9eff ;
--link-hover : # 9bb3ff ;
--link-visited : # a58fff ;
--accent-color : # 7c9eff ;
--border-color : # 404040 ;
--focus-color : # 9bb3ff ;
--focus-outline : 3px solid var ( --focus-color ) ; /* Thicker focus outline */
--focus-offset : 3px ; /* More visible offset */
--error-color : # ff6b6b ;
}
@ -113,11 +115,14 @@ header {
@@ -113,11 +115,14 @@ header {
transition : color 0 . 2s ;
}
. nav-menu a : hover ,
. nav-menu a : focus {
. nav-menu a : hover {
color : var ( --link-hover ) ;
outline : 2px solid var ( --focus-color ) ;
outline-offset : 2px ;
}
. nav-menu a : focus-visible {
color : var ( --link-hover ) ;
outline : var ( --focus-outline ) ;
outline-offset : var ( --focus-offset ) ;
}
. mobile-menu-toggle {
@ -125,9 +130,16 @@ header {
@@ -125,9 +130,16 @@ header {
flex-direction : column ;
gap : 4px ;
background : transparent ;
border : n on e;
border : 2px s olid transpar ent ;
cursor : pointer ;
padding : 8px ;
border-radius : 4px ;
}
. mobile-menu-toggle : focus-visible {
outline : var ( --focus-outline ) ;
outline-offset : var ( --focus-offset ) ;
border-color : var ( --focus-color ) ;
}
. mobile-menu-toggle span {
@ -184,6 +196,9 @@ header {
@@ -184,6 +196,9 @@ header {
. wiki-layout {
/* Three-column layout for wiki pages: wiki-sidebar | main-content | feed-sidebar */
/* Layout handled by flexbox in .layout-container */
/* No additional styles needed - flexbox handles the layout */
display : flex ;
}
. wiki-sidebar {
@ -230,9 +245,9 @@ header {
@@ -230,9 +245,9 @@ header {
color : var ( --link-hover ) ;
}
. wiki-menu a : focus {
outline : 2px solid var ( --focus-color ) ;
outline-offset : 2px ;
. wiki-menu a : focus-visible {
outline : var ( --focus-outline ) ;
outline-offset : var ( --focus-offset ) ;
}
. wiki-menu a . active {
@ -261,12 +276,15 @@ h1, h2, h3, h4, h5, h6 {
@@ -261,12 +276,15 @@ h1, h2, h3, h4, h5, h6 {
color : var ( --text-primary ) ;
line-height : 1 . 2 ;
margin-bottom : 1rem ;
text-transform : uppercase ;
letter-spacing : 0 . 05em ;
font-weight : 600 ;
}
h1 { font-size : 2.5 rem ; }
h2 { font-size : 2 rem ; }
h3 { font-size : 1.5 rem ; }
h4 { font-size : 1.25 rem ; }
h1 { font-size : 1 .5rem ; }
h2 { font-size : 1.25 rem ; }
h3 { font-size : 1.1 rem ; }
h4 { font-size : 1 rem ; }
p {
margin-bottom : 1rem ;
@ -322,8 +340,17 @@ a:focus {
@@ -322,8 +340,17 @@ a:focus {
}
. btn : focus {
outline : 2px solid var ( --focus-color ) ;
outline-offset : 2px ;
outline : var ( --focus-outline ) ;
outline-offset : var ( --focus-offset ) ;
}
. btn : focus : not ( : focus-visible ) {
outline : none ;
}
. btn : focus-visible {
outline : var ( --focus-outline ) ;
outline-offset : var ( --focus-offset ) ;
}
/* Articles and Pages */
@ -732,19 +759,25 @@ li {
@@ -732,19 +759,25 @@ li {
margin-bottom : 0 . 5rem ;
}
/* Focus styles for accessibility */
* : focus {
outline : 2px solid var ( --focus-color ) ;
outline-offset : 2px ;
/* Focus styles for accessibility - only show for keyboard navigation */
* : focus : not ( : focus-visible ) {
outline : none ;
}
button : focus ,
a : focus ,
input : focus ,
select : focus ,
textarea : focus {
outline : 2px solid var ( --focus-color ) ;
outline-offset : 2px ;
* : focus-visible {
outline : var ( --focus-outline ) ;
outline-offset : var ( --focus-offset ) ;
border-radius : 2px ;
}
button : focus-visible ,
a : focus-visible ,
input : focus-visible ,
select : focus-visible ,
textarea : focus-visible {
outline : var ( --focus-outline ) ;
outline-offset : var ( --focus-offset ) ;
border-radius : 2px ;
}
/* Contact Form Styles */
@ -789,7 +822,13 @@ textarea:focus {
@@ -789,7 +822,13 @@ textarea:focus {
. form-group input [ type = "text" ] : focus ,
. form-group textarea : focus {
border-color : var ( --focus-color ) ;
outline : none ;
}
. form-group input [ type = "text" ] : focus-visible ,
. form-group textarea : focus-visible {
border-color : var ( --focus-color ) ;
outline : var ( --focus-outline ) ;
outline-offset : var ( --focus-offset ) ;
}
. form-group textarea {
@ -972,6 +1011,55 @@ textarea:focus {
@@ -972,6 +1011,55 @@ textarea:focus {
flex-shrink : 0 ;
}
/* User Badge Styles */
. user-badge {
display : inline-flex ;
align-items : center ;
gap : 0 . 5rem ;
padding : 0 . 25rem 0 . 5rem ;
border-radius : 4px ;
background : var ( --bg-secondary ) ;
border : 1px solid var ( --border-color ) ;
}
. user-badge-avatar {
width : 24px ;
height : 24px ;
border-radius : 50 % ;
object-fit : cover ;
flex-shrink : 0 ;
}
. user-badge-avatar-placeholder {
width : 24px ;
height : 24px ;
border-radius : 50 % ;
background : var ( --bg-primary ) ;
border : 1px solid var ( --border-color ) ;
display : inline-flex ;
align-items : center ;
justify-content : center ;
flex-shrink : 0 ;
}
. user-badge-avatar-placeholder . icon-inline {
width : 14px ;
height : 14px ;
margin : 0 ;
color : var ( --text-secondary ) ;
}
. user-badge-name {
font-weight : 500 ;
color : var ( --text-primary ) ;
font-size : 0 . 9rem ;
}
. user-badge-handle {
color : var ( --text-secondary ) ;
font-size : 0 . 85rem ;
}
/* Ensure icons align properly in flex containers */
a , button , span , p , h1 , h2 , h3 , h4 , h5 , h6 , li {
display : inline-flex ;