Skip to content

Commit 6046695

Browse files
feat: add matrix-style background canvas to multiple pages and update CSS for improved visual consistency and responsiveness
1 parent 48ef2cf commit 6046695

5 files changed

Lines changed: 73 additions & 34 deletions

File tree

assets/css/style.css

Lines changed: 69 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,13 @@ body {
5050
font-size: 1rem;
5151
line-height: 1.6;
5252
color: var(--text);
53-
background: linear-gradient(165deg, #eef2ff 0%, #f8fafc 38%, #e0f2fe 100%);
53+
background: #030712;
5454
background-attachment: fixed;
5555
min-height: 100vh;
56+
min-height: 100dvh;
5657
display: flex;
5758
flex-direction: column;
59+
isolation: isolate;
5860
}
5961

6062
a {
@@ -66,24 +68,34 @@ a:hover {
6668
text-decoration: underline;
6769
}
6870

69-
.matrix-canvas {
70-
position: absolute;
71+
/* Full-viewport matrix rain behind all pages (see [data-matrix] in main.js). */
72+
.matrix-canvas--page-bg {
73+
position: fixed;
7174
inset: 0;
7275
width: 100%;
7376
height: 100%;
74-
opacity: 0.28;
77+
min-height: 100vh;
78+
min-height: 100dvh;
79+
z-index: 0;
80+
opacity: 0.78;
7581
mix-blend-mode: screen;
7682
pointer-events: none;
7783
}
7884

85+
@media (prefers-reduced-motion: reduce) {
86+
.matrix-canvas--page-bg {
87+
display: none !important;
88+
}
89+
}
90+
7991
.site-header {
8092
position: sticky;
8193
top: 0;
8294
z-index: 50;
83-
background: rgba(255, 255, 255, 0.65);
84-
backdrop-filter: blur(16px) saturate(180%);
85-
border-bottom: 1px solid var(--border);
86-
box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8) inset;
95+
background: rgba(15, 23, 42, 0.78);
96+
backdrop-filter: blur(18px) saturate(160%);
97+
border-bottom: 1px solid rgba(148, 163, 184, 0.22);
98+
box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06) inset;
8799
}
88100

89101
.header-inner {
@@ -101,7 +113,7 @@ a:hover {
101113
font-size: 1.125rem;
102114
letter-spacing: -0.03em;
103115
text-decoration: none;
104-
color: var(--text);
116+
color: #f1f5f9;
105117
}
106118

107119
.logo:not(.logo-with-mark) {
@@ -117,8 +129,12 @@ a:hover {
117129
gap: 0.55rem;
118130
}
119131

132+
.logo-with-mark .logo-img {
133+
border-color: rgba(148, 163, 184, 0.35);
134+
}
135+
120136
.logo-with-mark span {
121-
background: linear-gradient(120deg, var(--accent) 0%, var(--accent-2) 100%);
137+
background: linear-gradient(120deg, #c7d2fe 0%, #67e8f9 100%);
122138
-webkit-background-clip: text;
123139
background-clip: text;
124140
color: transparent;
@@ -149,15 +165,15 @@ a:hover {
149165
}
150166

151167
.nav-desktop a {
152-
color: var(--muted);
168+
color: rgba(203, 213, 225, 0.88);
153169
font-weight: 600;
154170
font-size: 0.9375rem;
155171
text-decoration: none;
156172
transition: color 0.2s ease;
157173
}
158174

159175
.nav-desktop a:hover {
160-
color: var(--text);
176+
color: #f8fafc;
161177
}
162178

163179
.nav-cta {
@@ -172,18 +188,18 @@ a:hover {
172188
justify-content: center;
173189
width: 2.5rem;
174190
height: 2.5rem;
175-
border: 1px solid var(--border);
191+
border: 1px solid rgba(148, 163, 184, 0.35);
176192
border-radius: var(--radius-sm);
177-
background: var(--surface-solid);
193+
background: rgba(30, 41, 59, 0.85);
178194
cursor: pointer;
179-
box-shadow: var(--shadow);
195+
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
180196
}
181197

182198
.nav-toggle span {
183199
display: block;
184200
width: 1.125rem;
185201
height: 2px;
186-
background: var(--text);
202+
background: #e2e8f0;
187203
position: relative;
188204
}
189205

@@ -194,7 +210,7 @@ a:hover {
194210
left: 0;
195211
width: 100%;
196212
height: 2px;
197-
background: var(--text);
213+
background: #e2e8f0;
198214
}
199215

200216
.nav-toggle span::before {
@@ -220,9 +236,9 @@ a:hover {
220236

221237
.nav-panel a {
222238
padding: 0.65rem 0;
223-
color: var(--text);
239+
color: #e2e8f0;
224240
font-weight: 600;
225-
border-bottom: 1px solid var(--border);
241+
border-bottom: 1px solid rgba(148, 163, 184, 0.25);
226242
}
227243

228244
.nav-panel a:last-child {
@@ -245,6 +261,8 @@ a:hover {
245261

246262
main {
247263
flex: 1;
264+
position: relative;
265+
z-index: 1;
248266
}
249267

250268
.container {
@@ -258,7 +276,13 @@ main {
258276
.hero-wrap {
259277
position: relative;
260278
overflow: hidden;
261-
background: linear-gradient(145deg, #0c1222 0%, #1e1b4b 42%, #0e7490 100%);
279+
z-index: 1;
280+
background: linear-gradient(
281+
145deg,
282+
rgba(12, 18, 34, 0.55) 0%,
283+
rgba(30, 27, 75, 0.5) 42%,
284+
rgba(14, 116, 144, 0.45) 100%
285+
);
262286
background-size: 200% 200%;
263287
animation: hero-gradient 14s ease infinite;
264288
}
@@ -278,9 +302,9 @@ main {
278302
position: absolute;
279303
inset: 0;
280304
background:
281-
radial-gradient(ellipse 80% 50% at 20% 40%, rgba(79, 70, 229, 0.45), transparent 55%),
282-
radial-gradient(ellipse 60% 40% at 80% 60%, rgba(6, 182, 212, 0.35), transparent 50%),
283-
radial-gradient(circle at 50% 100%, rgba(255, 255, 255, 0.08), transparent 40%);
305+
radial-gradient(ellipse 80% 50% at 20% 40%, rgba(79, 70, 229, 0.38), transparent 58%),
306+
radial-gradient(ellipse 60% 40% at 80% 60%, rgba(6, 182, 212, 0.28), transparent 52%),
307+
radial-gradient(circle at 50% 100%, rgba(255, 255, 255, 0.06), transparent 42%);
284308
pointer-events: none;
285309
}
286310

@@ -919,9 +943,10 @@ main {
919943
}
920944

921945
.section-alt {
922-
background: linear-gradient(180deg, rgba(255, 255, 255, 0.5) 0%, rgba(238, 242, 255, 0.9) 100%);
923-
border-top: 1px solid var(--border);
924-
border-bottom: 1px solid var(--border);
946+
background: linear-gradient(180deg, rgba(248, 250, 252, 0.9) 0%, rgba(238, 242, 255, 0.88) 100%);
947+
backdrop-filter: blur(10px);
948+
border-top: 1px solid rgba(148, 163, 184, 0.35);
949+
border-bottom: 1px solid rgba(148, 163, 184, 0.35);
925950
}
926951

927952
.section-head {
@@ -1052,7 +1077,13 @@ main {
10521077
}
10531078

10541079
.page-hero--mesh {
1055-
background: linear-gradient(155deg, #1e1b4b 0%, #312e81 50%, #0e7490 100%);
1080+
background: linear-gradient(
1081+
155deg,
1082+
rgba(30, 27, 75, 0.78) 0%,
1083+
rgba(49, 46, 129, 0.72) 50%,
1084+
rgba(14, 116, 144, 0.68) 100%
1085+
);
1086+
backdrop-filter: blur(8px);
10561087
padding-bottom: 3rem;
10571088
margin-bottom: 0;
10581089
}
@@ -1144,9 +1175,10 @@ main {
11441175

11451176
.home-intro {
11461177
padding: 5rem 0;
1147-
background: linear-gradient(180deg, #f8fafc 0%, #eef2ff 100%);
1148-
border-top: 1px solid var(--border);
1149-
border-bottom: 1px solid var(--border);
1178+
background: linear-gradient(180deg, rgba(248, 250, 252, 0.92) 0%, rgba(238, 242, 255, 0.9) 100%);
1179+
backdrop-filter: blur(12px);
1180+
border-top: 1px solid rgba(148, 163, 184, 0.35);
1181+
border-bottom: 1px solid rgba(148, 163, 184, 0.35);
11501182
}
11511183

11521184
.home-intro-grid {
@@ -1260,7 +1292,8 @@ main {
12601292
}
12611293

12621294
.section-tint {
1263-
background: linear-gradient(180deg, rgba(238, 242, 255, 0.65) 0%, #f8fafc 100%);
1295+
background: linear-gradient(180deg, rgba(238, 242, 255, 0.88) 0%, rgba(248, 250, 252, 0.9) 100%);
1296+
backdrop-filter: blur(10px);
12641297
}
12651298

12661299
.section-head--left {
@@ -1612,10 +1645,13 @@ main {
16121645
}
16131646

16141647
.site-footer {
1648+
position: relative;
1649+
z-index: 1;
16151650
margin-top: auto;
16161651
padding: 2.5rem 1.5rem;
1617-
border-top: 1px solid var(--border);
1618-
background: linear-gradient(180deg, #0f172a 0%, #0c1222 100%);
1652+
border-top: 1px solid rgba(148, 163, 184, 0.2);
1653+
background: linear-gradient(180deg, rgba(15, 23, 42, 0.92) 0%, rgba(12, 18, 34, 0.94) 100%);
1654+
backdrop-filter: blur(12px);
16191655
color: #94a3b8;
16201656
}
16211657

index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
<link rel="stylesheet" href="assets/css/style.css" />
2929
</head>
3030
<body>
31+
<canvas class="matrix-canvas matrix-canvas--page-bg" data-matrix aria-hidden="true"></canvas>
3132
<header class="site-header">
3233
<div class="header-inner">
3334
<a class="logo logo-with-mark" href="index.html">
@@ -65,7 +66,6 @@
6566

6667
<main>
6768
<div class="hero-wrap">
68-
<canvas class="matrix-canvas" data-matrix aria-hidden="true"></canvas>
6969
<div class="hero-orbs" aria-hidden="true">
7070
<div class="hero-orb hero-orb--a"></div>
7171
<div class="hero-orb hero-orb--b"></div>

pages/about.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
<link rel="stylesheet" href="../assets/css/style.css" />
2929
</head>
3030
<body>
31+
<canvas class="matrix-canvas matrix-canvas--page-bg" data-matrix aria-hidden="true"></canvas>
3132
<header class="site-header">
3233
<div class="header-inner">
3334
<a class="logo logo-with-mark" href="../index.html">

pages/docs.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
<link rel="stylesheet" href="../assets/css/style.css" />
2929
</head>
3030
<body>
31+
<canvas class="matrix-canvas matrix-canvas--page-bg" data-matrix aria-hidden="true"></canvas>
3132
<header class="site-header">
3233
<div class="header-inner">
3334
<a class="logo logo-with-mark" href="../index.html">

pages/download.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
<link rel="stylesheet" href="../assets/css/style.css" />
2929
</head>
3030
<body>
31+
<canvas class="matrix-canvas matrix-canvas--page-bg" data-matrix aria-hidden="true"></canvas>
3132
<header class="site-header">
3233
<div class="header-inner">
3334
<a class="logo logo-with-mark" href="../index.html">

0 commit comments

Comments
 (0)