summaryrefslogtreecommitdiff
path: root/src/components/OptionButtons.css
diff options
context:
space:
mode:
authorYuval Adam <_@yuv.al>2025-03-07 13:36:46 +0100
committerYuval Adam <_@yuv.al>2025-03-07 13:36:46 +0100
commit0a9549db44f3adff71f6cc7249a1bcdb3db5a479 (patch)
treec7198365a31e16f0c84ad1328d641f8c80d91d88 /src/components/OptionButtons.css
parenta3347ed1c24ef9182171cc461c02ea6bcbac734d (diff)
More fixes
Diffstat (limited to 'src/components/OptionButtons.css')
-rw-r--r--src/components/OptionButtons.css102
1 files changed, 102 insertions, 0 deletions
diff --git a/src/components/OptionButtons.css b/src/components/OptionButtons.css
new file mode 100644
index 0000000..a513337
--- /dev/null
+++ b/src/components/OptionButtons.css
@@ -0,0 +1,102 @@
+.options {
+ display: grid;
+ grid-template-columns: 1fr 1fr;
+ grid-template-rows: 1fr 1fr;
+ gap: 15px;
+ margin: 20px auto;
+ width: 100%;
+ max-width: 500px;
+ aspect-ratio: 2/1;
+}
+
+.option-button {
+ padding: 20px;
+ font-size: 2rem;
+ font-weight: 600;
+ border: none;
+ border-radius: 8px;
+ background: rgba(30, 40, 50, 0.7);
+ color: #fff;
+ cursor: pointer;
+ transition: all 0.3s ease;
+ box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
+ border: 1px solid rgba(255, 255, 255, 0.1);
+ backdrop-filter: blur(5px);
+ width: 100%;
+ height: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex-direction: column;
+}
+
+.option-button:hover {
+ transform: translateY(-3px);
+ background: rgba(40, 50, 60, 0.8);
+ box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
+}
+
+.option-button:active {
+ transform: translateY(1px);
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
+}
+
+.option-button.correct {
+ background: #27ae60;
+ color: white;
+ animation: pulse 1s;
+}
+
+.option-button.incorrect {
+ background: #e74c3c;
+ color: white;
+ animation: shake 0.5s;
+}
+
+.char-display {
+ font-size: 38px;
+ font-weight: bold;
+ text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
+}
+
+.morse-hint {
+ display: block;
+ font-size: 18px;
+ margin-top: 10px;
+ color: rgba(255, 255, 255, 0.7);
+ font-family: monospace;
+ letter-spacing: 2px;
+}
+
+@keyframes shake {
+ 0%, 100% {
+ transform: translateX(0);
+ }
+ 10%, 30%, 50%, 70%, 90% {
+ transform: translateX(-5px);
+ }
+ 20%, 40%, 60%, 80% {
+ transform: translateX(5px);
+ }
+}
+
+@keyframes pulse {
+ 0% {
+ box-shadow: 0 0 0 0 rgba(39, 174, 96, 0.7);
+ }
+ 70% {
+ box-shadow: 0 0 0 10px rgba(39, 174, 96, 0);
+ }
+ 100% {
+ box-shadow: 0 0 0 0 rgba(39, 174, 96, 0);
+ }
+}
+
+@keyframes spin {
+ from {
+ transform: rotate(0deg);
+ }
+ to {
+ transform: rotate(360deg);
+ }
+}