1- html , body {
2- font-family : $body-font ;
1+ @use ' ./variables' as vars ;
2+
3+ $large-screen : 1100px !default ;
4+ $mid-screen : 800px !default ;
5+ $small-screen : 480px !default ;
6+
7+ :root {
8+ /* light theme defaults */
9+ --background-color : #ffffff ;
10+ --font-color : #000000 ;
11+ --primary-color : #F7931A ;
12+ --link-hover-color : lighten (#F7931A , 10% );
13+ }
14+
15+ /* dark theme runtime overrides */
16+ body .dark-mode {
17+ --background-color : #000000 ;
18+ --font-color : #ffffff ;
19+ --primary-color : #F7931A ;
20+ }
21+
22+ html ,
23+ body {
24+ font-family : vars .$body-font ;
325 font-size : 16px ;
426 line-height : 1.5 ;
5- background-color : $background-color ;
6- color : $font-color ;
27+ background-color : var (--background-color );
28+ color : var (--font-color );
29+
30+ transition : background-color 0.4s ease , color 0.4s ease ;
731
832 @media (max-width : $large-screen ) {
933 font-size : 14px ;
@@ -16,23 +40,44 @@ html, body {
1640 @media (max-width : $small-screen ) {
1741 font-size : 12px ;
1842 }
43+
44+ /* ✅ Ensures each page fills the viewport height */
45+ min-height : 100vh ;
46+
47+ /* Helps prevent layout shift when footer is short */
48+ display : flex ;
49+ flex-direction : column ;
1950}
2051
21- .Site {
22- max-width : 880px ;
23- margin : 0 auto ;
24- padding : 2rem ;
52+ /* ✅ Make sure the body expands correctly for content and footer */
53+ body {
54+ background-color : var (--background-color );
55+ color : var (--font-color );
56+ flex : 1 ; /* allow content area to grow */
57+ box-sizing : border-box ;
2558}
2659
2760a {
28- color : $ primary-color ;
61+ color : var ( -- primary-color) ;
2962 text-decoration : none ;
63+ transition : color 0.3s ease ;
3064
3165 & :hover {
32- color : rgba ( $primary- color , 0.8 );
66+ color : var ( --link-hover- color , var ( --primary-color ) );
3367 }
3468}
3569
70+ /* ✅ Keeps layout centered and responsive */
71+ .Site {
72+ max-width : 880px ;
73+ margin : 0 auto ;
74+ padding : 2rem ;
75+ background-color : var (--background-color );
76+ color : var (--font-color );
77+ flex : 1 ; /* fills remaining height between header and footer */
78+ transition : background-color 0.4s ease , color 0.4s ease ;
79+ }
80+
3681p {
3782 margin-bottom : 1rem ;
3883}
68113 margin-top : 0.5rem ;
69114 margin-bottom : 0.5rem ;
70115}
116+
117+ * {
118+ transition : none !important ;
119+ }
120+
121+ body .loaded * {
122+ transition : all 0.1s ease ;
123+ }
0 commit comments