diff options
| author | Yuval Adam <_@yuv.al> | 2025-03-04 22:57:03 +0100 |
|---|---|---|
| committer | Yuval Adam <_@yuv.al> | 2025-03-04 22:57:03 +0100 |
| commit | 7594c37f28cdaf58a718d2e981000cb2a3a3e7e5 (patch) | |
| tree | b237cd8a15433c981279bec2150482de11799d73 /chart | |
| parent | 812a1f0c307f23922e939107018191c39b770e24 (diff) | |
Split styles and redesign
Diffstat (limited to 'chart')
| -rw-r--r-- | chart/index.html | 146 | ||||
| -rw-r--r-- | chart/styles.css | 280 |
2 files changed, 288 insertions, 138 deletions
diff --git a/chart/index.html b/chart/index.html index e85d2b5..3059b2f 100644 --- a/chart/index.html +++ b/chart/index.html @@ -18,144 +18,14 @@ <meta name="theme-color" content="#2c3e50"> <script src="https://cdn.usefathom.com/script.js" data-site="NEBPAKSA" defer></script> <script src="https://cwjs.mastercw.com/cw.min.js"></script> - - <style> - body { - font-family: 'Fredoka One', 'Baloo', 'Arial Rounded MT Bold', sans-serif; - margin: 0; - padding: 0; - background: linear-gradient(135deg, #2c3e50 0%, #1a2530 100%); - color: white; - min-height: 100vh; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - font-size: 20px; - } - - .container { - max-width: 800px; - margin: 0 auto; - padding: 20px; - text-align: center; - } - - h1 { - font-size: 48px; - margin-bottom: 20px; - color: #f39c12; - text-shadow: 3px 3px 0px rgba(0, 0, 0, 0.3), - 0 0 15px rgba(243, 156, 18, 0.5); - } - - h2 { - font-size: 32px; - margin: 30px 0 15px; - color: #3498db; - text-shadow: 2px 2px 0px rgba(0, 0, 0, 0.2), - 0 0 10px rgba(52, 152, 219, 0.4); - } - - .chart-section { - background-color: rgba(255, 255, 255, 0.1); - border-radius: 15px; - padding: 20px; - margin-bottom: 30px; - box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2); - } - - .morse-grid { - display: grid; - grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); - gap: 15px; - margin: 0 auto; - } - - .morse-item { - background-color: rgba(52, 152, 219, 0.2); - border-radius: 10px; - padding: 15px 10px; - display: flex; - flex-direction: column; - align-items: center; - box-shadow: 0 3px 5px rgba(0, 0, 0, 0.1); - transition: transform 0.2s, box-shadow 0.2s; - cursor: pointer; - } - - .morse-item:hover { - transform: translateY(-3px); - box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); - background-color: rgba(52, 152, 219, 0.3); - } - - .morse-item.playing { - background-color: rgba(243, 156, 18, 0.3); - box-shadow: 0 0 15px rgba(243, 156, 18, 0.5); - } - - .character { - font-size: 28px; - font-weight: bold; - margin-bottom: 8px; - } - - .morse { - font-family: monospace; - font-size: 18px; - letter-spacing: 2px; - } - - .back-link { - margin-top: 30px; - font-size: 18px; - } - - .back-link a { - color: #3498db; - text-decoration: none; - transition: color 0.3s; - } - - .back-link a:hover { - color: #f39c12; - text-decoration: underline; - } - - .title-link { - color: inherit; - text-decoration: none; - transition: color 0.3s; - } - - .title-link:hover { - color: #3498db; - text-shadow: 0 0 10px rgba(52, 152, 219, 0.7); - } - - .footer { - margin-top: 30px; - padding: 15px; - text-align: center; - font-family: Arial, sans-serif; - font-size: 14px; - color: rgba(255, 255, 255, 0.7); - width: 100%; - } - - .footer a { - color: #3498db; - text-decoration: none; - font-weight: bold; - transition: color 0.3s; - } - - .footer a:hover { - color: #4aa3df; - text-decoration: underline; - } - </style> + + <!-- Google Fonts --> + <link rel="preconnect" href="https://fonts.googleapis.com"> + <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> + <link href="https://fonts.googleapis.com/css2?family=Fredoka:wght@400;600&family=Poppins:wght@400;600;700&display=swap" rel="stylesheet"> + + <!-- Main Stylesheet --> + <link rel="stylesheet" href="styles.css"> </head> <body> diff --git a/chart/styles.css b/chart/styles.css new file mode 100644 index 0000000..4f6de23 --- /dev/null +++ b/chart/styles.css @@ -0,0 +1,280 @@ +/* Morse Hero Chart Styles */ +:root { + --primary-color: #3498db; + --primary-dark: #2980b9; + --secondary-color: #f39c12; + --secondary-dark: #e67e22; + --accent-color: #e74c3c; + --accent-dark: #c0392b; + --success-color: #2ecc71; + --success-dark: #27ae60; + --bg-dark: #2c3e50; + --bg-darker: #1a2530; + --bg-light: #34495e; + --text-light: #ecf0f1; + --text-dim: rgba(255, 255, 255, 0.7); + --border-radius-sm: 12px; + --border-radius-md: 20px; + --border-radius-lg: 30px; + --shadow-sm: 0 4px 6px rgba(0, 0, 0, 0.1); + --shadow-md: 0 10px 20px rgba(0, 0, 0, 0.15); + --shadow-lg: 0 15px 30px rgba(0, 0, 0, 0.2); + --transition-fast: 0.2s ease; + --transition-normal: 0.3s ease; +} + +* { + box-sizing: border-box; + margin: 0; + padding: 0; +} + +body { + font-family: 'Poppins', 'Fredoka', sans-serif; + margin: 0; + padding: 0; + background: radial-gradient(ellipse at top, var(--bg-dark) 0%, var(--bg-darker) 100%); + color: var(--text-light); + min-height: 100vh; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + font-size: 18px; + line-height: 1.6; +} + +.container { + max-width: 900px; + margin: 0 auto; + padding: 30px 20px; + text-align: center; + width: 100%; +} + +h1 { + font-size: 48px; + margin-bottom: 20px; + color: var(--secondary-color); + text-shadow: 3px 3px 0px rgba(0, 0, 0, 0.3), + 0 0 15px rgba(243, 156, 18, 0.5); + font-family: 'Fredoka', sans-serif; + font-weight: 600; + position: relative; + display: inline-block; +} + +h1::after { + content: ""; + position: absolute; + bottom: -10px; + left: 50%; + transform: translateX(-50%); + width: 60px; + height: 4px; + background: linear-gradient(90deg, var(--accent-color), var(--secondary-color)); + border-radius: 2px; +} + +h2 { + font-size: 32px; + margin: 30px 0 15px; + color: var(--primary-color); + text-shadow: 2px 2px 0px rgba(0, 0, 0, 0.2), + 0 0 10px rgba(52, 152, 219, 0.4); + font-family: 'Fredoka', sans-serif; + font-weight: 600; +} + +.chart-section { + background: linear-gradient(145deg, var(--bg-light) 0%, #2d3e50 100%); + border-radius: var(--border-radius-md); + padding: 30px 25px; + margin-bottom: 40px; + box-shadow: var(--shadow-lg); + position: relative; + overflow: hidden; +} + +.chart-section::before { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + height: 5px; + background: linear-gradient(90deg, var(--primary-color), var(--secondary-color)); + z-index: 1; +} + +.morse-grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); + gap: 20px; + margin: 0 auto; +} + +.morse-item { + background: linear-gradient(145deg, rgba(52, 152, 219, 0.1) 0%, rgba(52, 152, 219, 0.2) 100%); + border-radius: var(--border-radius-sm); + padding: 20px 15px; + display: flex; + flex-direction: column; + align-items: center; + box-shadow: var(--shadow-sm); + transition: all var(--transition-normal); + cursor: pointer; + border: 1px solid rgba(52, 152, 219, 0.2); +} + +.morse-item:hover { + transform: translateY(-5px); + box-shadow: var(--shadow-md); + background: linear-gradient(145deg, rgba(52, 152, 219, 0.2) 0%, rgba(52, 152, 219, 0.3) 100%); + border-color: rgba(52, 152, 219, 0.3); +} + +.morse-item.playing { + background: linear-gradient(145deg, rgba(243, 156, 18, 0.2) 0%, rgba(243, 156, 18, 0.3) 100%); + box-shadow: 0 0 20px rgba(243, 156, 18, 0.4); + border-color: rgba(243, 156, 18, 0.4); +} + +.character { + font-size: 32px; + font-weight: bold; + margin-bottom: 10px; + text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2); +} + +.morse { + font-family: monospace; + font-size: 18px; + letter-spacing: 2px; + color: var(--text-dim); +} + +.back-link { + margin-top: 40px; + font-size: 18px; +} + +.back-link a { + color: var(--primary-color); + text-decoration: none; + transition: all var(--transition-normal); + padding: 10px 20px; + background-color: rgba(255, 255, 255, 0.05); + border-radius: var(--border-radius-sm); + display: inline-block; +} + +.back-link a:hover { + color: var(--secondary-color); + background-color: rgba(255, 255, 255, 0.1); + transform: translateY(-3px); + box-shadow: var(--shadow-sm); +} + +.title-link { + color: inherit; + text-decoration: none; + transition: all var(--transition-normal); + position: relative; + display: inline-block; +} + +.title-link:hover { + color: var(--secondary-color); + text-shadow: 0 0 15px rgba(243, 156, 18, 0.6); +} + +.footer { + margin-top: 40px; + padding: 20px; + text-align: center; + font-size: 16px; + color: var(--text-dim); + width: 100%; + border-top: 1px solid rgba(255, 255, 255, 0.1); +} + +.footer a { + color: var(--primary-color); + text-decoration: none; + font-weight: bold; + transition: color var(--transition-normal); + position: relative; +} + +.footer a::after { + content: ''; + position: absolute; + width: 100%; + transform: scaleX(0); + height: 2px; + bottom: -2px; + left: 0; + background-color: var(--primary-color); + transform-origin: bottom right; + transition: transform 0.3s ease-out; +} + +.footer a:hover { + color: var(--secondary-color); +} + +.footer a:hover::after { + transform: scaleX(1); + transform-origin: bottom left; +} + +@media (max-width: 768px) { + .container { + padding: 20px 15px; + } + + h1 { + font-size: 40px; + } + + h2 { + font-size: 28px; + } + + .morse-grid { + grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); + gap: 15px; + } + + .morse-item { + padding: 15px 10px; + } + + .character { + font-size: 28px; + } +} + +@media (max-width: 480px) { + h1 { + font-size: 32px; + } + + h2 { + font-size: 24px; + } + + .morse-grid { + grid-template-columns: repeat(auto-fill, minmax(90px, 1fr)); + gap: 10px; + } + + .character { + font-size: 24px; + } + + .morse { + font-size: 16px; + } +} |
