aboutsummaryrefslogtreecommitdiff
path: root/src/Style/style.css
diff options
context:
space:
mode:
Diffstat (limited to 'src/Style/style.css')
-rw-r--r--src/Style/style.css183
1 files changed, 140 insertions, 43 deletions
diff --git a/src/Style/style.css b/src/Style/style.css
index 439efa6..6079ae1 100644
--- a/src/Style/style.css
+++ b/src/Style/style.css
@@ -1,12 +1,99 @@
/* Synthwave Terminal */
-/* Define the font */
+/* Color variables */
+:root {
+ /* Background layers */
+ --bg-top: #1a0f2e;
+ --bg-mid: #090012;
+ --bg-bottom: #050008;
+ --bg-panel: rgba(10, 0, 25, 0.6);
+ --bg-lightbox: rgba(5, 0, 8, 0.95);
+
+ /* Accent — magenta */
+ --magenta: #ff00ff;
+ --magenta-rgb: 255, 0, 255;
+ --magenta-hover: #ff66ff;
+ --magenta-hover-rgb: 255, 102, 255;
+
+ /* Accent — cyan */
+ --cyan: #00ffff;
+ --cyan-rgb: 0, 255, 255;
+
+ /* Text */
+ --text-primary: #e0d6ff;
+ --text-subtitle: #c9b6ff;
+ --text-muted: #888;
+ --text-black: #000;
+
+ /* Semantic aliases */
+ --color-white: #ffffff;
+ --color-primary: var(--magenta);
+}
+
+/* Fonts */
@font-face {
font-family: 'Hacked';
src: url('./fonts/Hacked/Hacked-KerX.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
+
+@font-face {
+ font-family: 'Argon Glow';
+ src: url('./fonts/argonGlow/ArgonGlow-Thin.woff2') format('woff2'),
+ url('./fonts/argonGlow/ArgonGlow-Thin.ttf') format('truetype');
+ font-weight: 100;
+ font-style: normal;
+}
+
+@font-face {
+ font-family: 'Argon Glow';
+ src: url('./fonts/argonGlow/ArgonGlow-ExtraLight.woff2') format('woff2'),
+ url('./fonts/argonGlow/ArgonGlow-ExtraLight.ttf') format('truetype');
+ font-weight: 200;
+ font-style: normal;
+}
+
+@font-face {
+ font-family: 'Argon Glow';
+ src: url('./fonts/argonGlow/ArgonGlow-Light.woff2') format('woff2'),
+ url('./fonts/argonGlow/ArgonGlow-Light.ttf') format('truetype');
+ font-weight: 300;
+ font-style: normal;
+}
+
+@font-face {
+ font-family: 'Argon Glow';
+ src: url('./fonts/argonGlow/ArgonGlow-Regular.woff2') format('woff2'),
+ url('./fonts/argonGlow/ArgonGlow-Regular.ttf') format('truetype');
+ font-weight: 400;
+ font-style: normal;
+}
+
+@font-face {
+ font-family: 'Argon Glow';
+ src: url('./fonts/argonGlow/ArgonGlow-Medium.woff2') format('woff2'),
+ url('./fonts/argonGlow/ArgonGlow-Medium.ttf') format('truetype');
+ font-weight: 500;
+ font-style: normal;
+}
+
+@font-face {
+ font-family: 'Argon Glow';
+ src: url('./fonts/argonGlow/ArgonGlow-SemiBold.woff2') format('woff2'),
+ url('./fonts/argonGlow/ArgonGlow-SemiBold.ttf') format('truetype');
+ font-weight: 600;
+ font-style: normal;
+}
+
+@font-face {
+ font-family: 'Argon Glow';
+ src: url('./fonts/argonGlow/ArgonGlow-Bold.woff2') format('woff2'),
+ url('./fonts/argonGlow/ArgonGlow-Bold.ttf') format('truetype');
+ font-weight: 700;
+ font-style: normal;
+}
+
/* Make canvas sit behind everything */
canvas {
position: fixed;
@@ -14,6 +101,7 @@ canvas {
left: 0;
z-index: -1;
}
+
html, body {
height: 100%;
margin: 0;
@@ -24,16 +112,18 @@ html::-webkit-scrollbar,
body::-webkit-scrollbar {
display: none;
}
+
html {
-ms-overflow-style: none; /* IE and Edge */
scrollbar-width: none; /* Firefox */
+}
+
body {
- background: radial-gradient(ellipse at bottom, #1a0f2e 0%, #090012 60%, #050008 100%);
- color: #e0d6ff;
+ background: radial-gradient(ellipse at bottom, var(--bg-top) 0%, var(--bg-mid) 60%, var(--bg-bottom) 100%);
+ color: var(--text-primary);
font-family: "Courier New", monospace;
margin: 0;
padding: 0;
-
}
/* Floating terminal panel */
@@ -45,11 +135,11 @@ body {
max-width: 800px;
margin: 80px auto;
padding: 30px;
- background: rgba(10, 0, 25, 0.6);
- border: 1px solid rgba(255, 0, 255, 0.4);
+ background: var(--bg-panel);
+ border: 1px solid rgba(var(--magenta-rgb), 0.4);
box-shadow:
- 0 0 15px rgba(255, 0, 255, 0.2),
- 0 0 40px rgba(0, 255, 255, 0.1);
+ 0 0 15px rgba(var(--magenta-rgb), 0.2),
+ 0 0 40px rgba(var(--cyan-rgb), 0.1);
backdrop-filter: blur(6px);
}
@@ -57,11 +147,18 @@ body {
h1 {
font-size: 42px;
text-align: center;
- font-family: 'Hacked';
- color: #ff00ff;
+ font-family: 'Argon Glow';
+ font-weight: 700;
+ font-size: 60px;
+ color: var(--magenta);
text-shadow:
- 0 0 5px #ff00ff,
- 0 0 15px rgba(255, 0, 255, 0.6);
+ 0 0 5px var(--magenta),
+ 0 0 15px rgba(var(--magenta-rgb), 0.6);
+ filter:
+ url(#glitch)
+ drop-shadow(0 0 0.25rem #ffaaff7f)
+ drop-shadow(0 0 0.5rem #ff55ff4f)
+ drop-shadow(0 0 1rem #dd44dd5f);
}
/* Subtitle */
@@ -69,15 +166,15 @@ h1 {
text-align: center;
font-size: 18px;
margin-bottom: 40px;
- color: #c9b6ff;
+ color: var(--text-subtitle);
}
/* Section headers */
h2 {
font-size: 22px;
margin-top: 30px;
- color: #00ffff;
- text-shadow: 0 0 8px rgba(0, 255, 255, 0.6);
+ color: var(--cyan);
+ text-shadow: 0 0 8px rgba(var(--cyan-rgb), 0.6);
}
/* Terminal-style list */
@@ -88,17 +185,17 @@ ul {
li::before {
content: "> ";
- color: #ff00ff;
+ color: var(--magenta);
}
/* Links */
a {
- color: #00ffff;
+ color: var(--cyan);
text-decoration: none;
}
a:hover {
- text-shadow: 0 0 8px #00ffff;
+ text-shadow: 0 0 8px var(--cyan);
}
/* Exclude h1 links */
@@ -114,15 +211,15 @@ textarea,
button {
font-family: 'Hacked', monospace;
font-size: 16px;
- background: rgba(10, 0, 25, 0.6);
- color: #e0d6ff;
- border: 1px solid #ff00ff;
+ background: var(--bg-panel);
+ color: var(--text-primary);
+ border: 1px solid var(--magenta);
border-radius: 4px;
padding: 10px;
outline: none;
box-shadow:
- 0 0 5px #ff00ff,
- 0 0 15px rgba(255, 0, 255, 0.2);
+ 0 0 5px var(--magenta),
+ 0 0 15px rgba(var(--magenta-rgb), 0.2);
backdrop-filter: blur(4px);
transition: all 0.2s ease-in-out;
width: 100%;
@@ -144,29 +241,29 @@ textarea {
/* Hover/focus effects */
input[type="text"]:focus,
textarea:focus {
- border-color: #00ffff;
+ border-color: var(--cyan);
box-shadow:
- 0 0 5px #00ffff,
- 0 0 15px rgba(0, 255, 255, 0.2);
+ 0 0 5px var(--cyan),
+ 0 0 15px rgba(var(--cyan-rgb), 0.2);
}
/* Button */
button {
cursor: pointer;
- background: #ff00ff;
- color: #000;
+ background: var(--magenta);
+ color: var(--text-black);
font-weight: bold;
border: none;
box-shadow:
- 0 0 10px #ff00ff,
- 0 0 20px rgba(255, 0, 255, 0.2);
+ 0 0 10px var(--magenta),
+ 0 0 20px rgba(var(--magenta-rgb), 0.2);
}
button:hover {
- background: #ff66ff;
+ background: var(--magenta-hover);
box-shadow:
- 0 0 15px #ff66ff,
- 0 0 30px rgba(255, 102, 255, 0.3);
+ 0 0 15px var(--magenta-hover),
+ 0 0 30px rgba(var(--magenta-hover-rgb), 0.3);
}
/* Footer */
@@ -174,7 +271,7 @@ footer {
text-align: center;
margin-top: 60px;
font-size: 14px;
- color: #888;
+ color: var(--text-muted);
}
/* Gallery grid */
@@ -188,13 +285,13 @@ footer {
.gallery-item {
aspect-ratio: 1;
overflow: hidden;
- border: 1px solid rgba(255, 0, 255, 0.4);
+ border: 1px solid rgba(var(--magenta-rgb), 0.4);
transition: all 0.2s ease-in-out;
}
.gallery-item:hover {
- border-color: #00ffff;
- box-shadow: 0 0 15px rgba(0, 255, 255, 0.4);
+ border-color: var(--cyan);
+ box-shadow: 0 0 15px rgba(var(--cyan-rgb), 0.4);
}
.gallery-item img {
@@ -211,7 +308,7 @@ footer {
left: 0;
width: 100%;
height: 100%;
- background: rgba(5, 0, 8, 0.95);
+ background: var(--bg-lightbox);
z-index: 100;
align-items: center;
justify-content: center;
@@ -224,8 +321,8 @@ footer {
.lightbox-img {
max-width: 90%;
max-height: 90%;
- border: 1px solid rgba(255, 0, 255, 0.4);
- box-shadow: 0 0 30px rgba(255, 0, 255, 0.3);
+ border: 1px solid rgba(var(--magenta-rgb), 0.4);
+ box-shadow: 0 0 30px rgba(var(--magenta-rgb), 0.3);
}
.lightbox-close {
@@ -233,12 +330,12 @@ footer {
top: 20px;
right: 30px;
font-size: 40px;
- color: #ff00ff;
+ color: var(--magenta);
cursor: pointer;
transition: all 0.2s ease-in-out;
}
.lightbox-close:hover {
- color: #00ffff;
- text-shadow: 0 0 10px #00ffff;
+ color: var(--cyan);
+ text-shadow: 0 0 10px var(--cyan);
}