diff options
Diffstat (limited to 'src/Style/style.css')
| -rw-r--r-- | src/Style/style.css | 183 |
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); } |
