feat: expand to 1014 words, add title-case display and 2 new themes
- Move word data from hardcoded seed.py to data/words.json - Expand from 210 words across 7 categories to 1014 words across 14 categories (animals, food, colors, sports, space, nature, music, science, countries, occupations, ocean, weather, mythology, technology) - Word list sidebar now shows title case (Tiger) while grid stays uppercase; text input remains case-insensitive - Add Ocean theme (light, blue accents) and Forest theme (dark, amber accents on deep green) - Replace hardcoded rgba values with --coral-bg CSS variable so selection highlighting adapts per theme Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
cd1dc9200b
commit
9319f08875
+91
-10
@@ -1,12 +1,82 @@
|
||||
:root {
|
||||
/* Theme variables — Indigo (default) */
|
||||
:root,
|
||||
[data-theme="indigo"] {
|
||||
--indigo-darkest: #1a1a2e;
|
||||
--indigo-dark: #16213e;
|
||||
--indigo-mid: #0f3460;
|
||||
--coral: #e94560;
|
||||
--coral-light: #ff6b81;
|
||||
--coral-bg: rgba(233, 69, 96, 0.3);
|
||||
--gold: #f5c518;
|
||||
--text-primary: #e0e0e0;
|
||||
--text-muted: #a0aec0;
|
||||
--nav-hover-bg: rgba(15, 52, 96, 0.5);
|
||||
--heading-color: #ffffff;
|
||||
--tip-bg: rgba(15, 52, 96, 0.4);
|
||||
}
|
||||
|
||||
/* Theme variables — Dark */
|
||||
[data-theme="dark"] {
|
||||
--indigo-darkest: #121212;
|
||||
--indigo-dark: #1e1e1e;
|
||||
--indigo-mid: #333333;
|
||||
--coral: #e94560;
|
||||
--coral-light: #ff6b81;
|
||||
--coral-bg: rgba(233, 69, 96, 0.3);
|
||||
--gold: #f5c518;
|
||||
--text-primary: #e0e0e0;
|
||||
--text-muted: #9e9e9e;
|
||||
--nav-hover-bg: rgba(255, 255, 255, 0.08);
|
||||
--heading-color: #ffffff;
|
||||
--tip-bg: rgba(51, 51, 51, 0.6);
|
||||
}
|
||||
|
||||
/* Theme variables — Light */
|
||||
[data-theme="light"] {
|
||||
--indigo-darkest: #f5f5f5;
|
||||
--indigo-dark: #ffffff;
|
||||
--indigo-mid: #dee2e6;
|
||||
--coral: #d63851;
|
||||
--coral-light: #e94560;
|
||||
--coral-bg: rgba(214, 56, 81, 0.2);
|
||||
--gold: #d4a017;
|
||||
--text-primary: #212529;
|
||||
--text-muted: #6c757d;
|
||||
--nav-hover-bg: rgba(0, 0, 0, 0.05);
|
||||
--heading-color: #212529;
|
||||
--tip-bg: rgba(0, 0, 0, 0.03);
|
||||
}
|
||||
|
||||
/* Theme variables — Ocean */
|
||||
[data-theme="ocean"] {
|
||||
--indigo-darkest: #e8f4f8;
|
||||
--indigo-dark: #ffffff;
|
||||
--indigo-mid: #b8d8e7;
|
||||
--coral: #0077b6;
|
||||
--coral-light: #0096c7;
|
||||
--coral-bg: rgba(0, 119, 182, 0.15);
|
||||
--gold: #e07a2f;
|
||||
--text-primary: #1b3a4b;
|
||||
--text-muted: #4a7c8f;
|
||||
--nav-hover-bg: rgba(0, 119, 182, 0.08);
|
||||
--heading-color: #023e58;
|
||||
--tip-bg: rgba(0, 119, 182, 0.06);
|
||||
}
|
||||
|
||||
/* Theme variables — Forest */
|
||||
[data-theme="forest"] {
|
||||
--indigo-darkest: #1a2e1a;
|
||||
--indigo-dark: #1e3a1e;
|
||||
--indigo-mid: #2d5a2d;
|
||||
--coral: #e6a838;
|
||||
--coral-light: #f0c060;
|
||||
--coral-bg: rgba(230, 168, 56, 0.25);
|
||||
--gold: #e6a838;
|
||||
--text-primary: #d4e5d4;
|
||||
--text-muted: #8aab8a;
|
||||
--nav-hover-bg: rgba(45, 90, 45, 0.5);
|
||||
--heading-color: #f0f5f0;
|
||||
--tip-bg: rgba(45, 90, 45, 0.4);
|
||||
}
|
||||
|
||||
body {
|
||||
@@ -42,12 +112,12 @@ body {
|
||||
}
|
||||
|
||||
.navbar-nav .nav-link:hover {
|
||||
color: #ffffff;
|
||||
background-color: rgba(15, 52, 96, 0.5);
|
||||
color: var(--heading-color);
|
||||
background-color: var(--nav-hover-bg);
|
||||
}
|
||||
|
||||
.navbar-nav .nav-link.active {
|
||||
color: #ffffff;
|
||||
color: var(--heading-color);
|
||||
background-color: var(--indigo-mid);
|
||||
}
|
||||
|
||||
@@ -63,7 +133,7 @@ body {
|
||||
}
|
||||
|
||||
.hero h1 {
|
||||
color: #ffffff;
|
||||
color: var(--heading-color);
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
@@ -129,7 +199,7 @@ body {
|
||||
}
|
||||
|
||||
.tip-card {
|
||||
background-color: rgba(15, 52, 96, 0.4);
|
||||
background-color: var(--tip-bg);
|
||||
border-left: 3px solid var(--gold);
|
||||
border-radius: 4px;
|
||||
padding: 1rem 1.25rem;
|
||||
@@ -170,7 +240,7 @@ body {
|
||||
}
|
||||
|
||||
.game-grid td.cell-selected {
|
||||
background-color: rgba(233, 69, 96, 0.3);
|
||||
background-color: var(--coral-bg);
|
||||
outline: 2px solid var(--coral);
|
||||
outline-offset: -2px;
|
||||
}
|
||||
@@ -195,11 +265,11 @@ body {
|
||||
.card-header {
|
||||
background-color: var(--indigo-mid);
|
||||
border-color: var(--indigo-mid);
|
||||
color: #ffffff;
|
||||
color: var(--heading-color);
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
/* Form controls in dark theme */
|
||||
/* Form controls */
|
||||
.form-select,
|
||||
.form-control {
|
||||
background-color: var(--indigo-dark);
|
||||
@@ -212,7 +282,7 @@ body {
|
||||
background-color: var(--indigo-dark);
|
||||
border-color: var(--coral);
|
||||
color: var(--text-primary);
|
||||
box-shadow: 0 0 0 0.2rem rgba(233, 69, 96, 0.25);
|
||||
box-shadow: 0 0 0 0.2rem var(--coral-bg);
|
||||
}
|
||||
|
||||
.form-range::-webkit-slider-thumb {
|
||||
@@ -222,3 +292,14 @@ body {
|
||||
.form-range::-moz-range-thumb {
|
||||
background: var(--coral);
|
||||
}
|
||||
|
||||
/* Theme toggle */
|
||||
#theme-toggle {
|
||||
border-color: var(--indigo-mid);
|
||||
color: var(--text-muted);
|
||||
}
|
||||
|
||||
#theme-toggle:hover {
|
||||
color: var(--coral);
|
||||
border-color: var(--coral);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user