Mess with colors
This commit is contained in:
parent
605c111c73
commit
d3800345e5
121
public/style.css
121
public/style.css
|
@ -1,17 +1,61 @@
|
||||||
|
|
||||||
|
|
||||||
:root {
|
:root {
|
||||||
--color-background-light-pink: #ffe0f0;
|
/* PRIMARY BRAND COLORS */
|
||||||
--color-text: #333;
|
--color-primary: #C12675; /* Main brand color - primary buttons, links, highlights */
|
||||||
--color-game-container-bg: white;
|
--color-primary-light: #D84A95; /* Hover states for primary elements, lighter accents */
|
||||||
--color-game-container-shadow: rgba(0, 0, 0, 0.1);
|
--color-primary-dark: #9A1C5B; /* Active states, pressed buttons, darker emphasis */
|
||||||
--color-board-bg: #ffefff;
|
--color-primary-subtle: #F4E6EE; /* Background tints, very light overlays, subtle highlights */
|
||||||
--color-board-border: #ffccff;
|
|
||||||
--color-grid-lines: #ff99ff;
|
/* SECONDARY ACCENT COLORS */
|
||||||
--color-intersection-hover: rgba(255, 192, 203, 0.3);
|
--color-secondary: #8B4A9C; /* Secondary buttons, alternative CTAs, complementary actions */
|
||||||
--color-heart-pink: #FFB6C1;
|
--color-secondary-light: #A866B8; /* Hover states for secondary elements */
|
||||||
--color-last-move-glow: rgba(255, 255, 0, 0.7);
|
--color-secondary-dark: #6D3B7A; /* Active states for secondary elements */
|
||||||
--color-black: #000;
|
|
||||||
--color-white: #fff;
|
/* NEUTRAL GRAYS */
|
||||||
--color-success-purple: #e0b0ff;
|
--color-neutral-50: #FAFAFA; /* Page backgrounds, card backgrounds */
|
||||||
|
--color-neutral-100: #F5F5F5; /* Subtle backgrounds, disabled states */
|
||||||
|
--color-neutral-200: #E5E5E5; /* Borders, dividers, subtle separators */
|
||||||
|
--color-neutral-300: #D4D4D4; /* Input borders, inactive elements */
|
||||||
|
--color-neutral-400: #A3A3A3; /* Placeholder text, muted elements */
|
||||||
|
--color-neutral-500: #737373; /* Body text, secondary information */
|
||||||
|
--color-neutral-600: #525252; /* Headings, important text */
|
||||||
|
--color-neutral-700: #404040; /* Primary text, main content */
|
||||||
|
--color-neutral-800: #262626; /* High contrast text, emphasis */
|
||||||
|
--color-neutral-900: #171717; /* Maximum contrast, headers, navigation */
|
||||||
|
|
||||||
|
/* STATUS & FEEDBACK COLORS */
|
||||||
|
--color-success: #059669; /* Success messages, confirmations, positive states */
|
||||||
|
--color-success-light: #10B981; /* Success backgrounds, subtle positive indicators */
|
||||||
|
--color-warning: #D97706; /* Warning messages, caution states */
|
||||||
|
--color-warning-light: #F59E0B; /* Warning backgrounds, attention grabbers */
|
||||||
|
--color-error: #DC2626; /* Error messages, destructive actions */
|
||||||
|
--color-error-light: #EF4444; /* Error backgrounds, validation errors */
|
||||||
|
--color-info: #2563EB; /* Info messages, helpful tips */
|
||||||
|
--color-info-light: #3B82F6; /* Info backgrounds, informational highlights */
|
||||||
|
|
||||||
|
/* SPECIAL PURPOSE COLORS */
|
||||||
|
--color-gradient-start: #C12675; /* Start of brand gradients */
|
||||||
|
--color-gradient-end: #8B4A9C; /* End of brand gradients, creates depth */
|
||||||
|
--color-shadow: rgba(193, 38, 117, 0.15); /* Drop shadows with brand tint */
|
||||||
|
--color-overlay: rgba(193, 38, 117, 0.08); /* Modal overlays, background tints */
|
||||||
|
|
||||||
|
/* TEXT ON COLORED BACKGROUNDS */
|
||||||
|
--color-on-primary: #FFFFFF; /* Text/icons on primary color backgrounds */
|
||||||
|
--color-on-secondary: #FFFFFF; /* Text/icons on secondary color backgrounds */
|
||||||
|
--color-on-dark: #FFFFFF; /* Text/icons on dark backgrounds */
|
||||||
|
--color-on-light: #171717; /* Text/icons on light backgrounds */
|
||||||
|
|
||||||
|
/* INTERACTIVE STATES */
|
||||||
|
--color-hover-overlay: rgba(255, 255, 255, 0.1); /* Light overlay for hover states */
|
||||||
|
--color-active-overlay: rgba(0, 0, 0, 0.1); /* Dark overlay for active/pressed states */
|
||||||
|
--color-focus-ring: rgba(193, 38, 117, 0.3); /* Focus rings for accessibility */
|
||||||
|
|
||||||
|
/* BACKGROUND VARIATIONS */
|
||||||
|
--color-bg-primary: #FFFFFF; /* Main page background */
|
||||||
|
--color-bg-secondary: #FAFAFA; /* Secondary sections, cards */
|
||||||
|
--color-bg-tertiary: #F5F5F5; /* Sidebar backgrounds, less prominent areas */
|
||||||
|
--color-bg-accent: #FDF2F8; /* Very subtle pink background for special sections */
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
|
@ -22,25 +66,29 @@ body {
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
background-color: var(--color-background-light-pink);
|
background-color: var(--color-bg-accent);
|
||||||
color: var(--color-text);
|
color: var(--color-on-light);
|
||||||
}
|
}
|
||||||
|
|
||||||
#game-container {
|
#game-container {
|
||||||
background-color: var(--color-game-container-bg);
|
background-color: var(--color-bg-primary);
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
border-radius: 12px;
|
border-radius: 12px;
|
||||||
box-shadow: 0 0 20px var(--color-game-container-shadow);
|
box-shadow: 0 0 20px var(--color-shadow);
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#title-box {
|
||||||
|
padding-top: 0.25em;
|
||||||
|
padding-bottom: 0.25em;
|
||||||
|
}
|
||||||
|
|
||||||
.game-board-grid {
|
.game-board-grid {
|
||||||
position: relative;
|
position: relative;
|
||||||
width: calc(14 * 30px);
|
width: calc(14 * 30px);
|
||||||
height: calc(14 * 30px);
|
height: calc(14 * 30px);
|
||||||
margin-top: 20px;
|
background-color: var(--color-bg-tertiary);
|
||||||
background-color: var(--color-board-bg);
|
border: 2px solid var(--color-neutral-700);
|
||||||
border: 2px solid var(--color-board-border);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.game-board-grid::before {
|
.game-board-grid::before {
|
||||||
|
@ -51,8 +99,8 @@ body {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
background-image:
|
background-image:
|
||||||
linear-gradient(to right, var(--color-grid-lines) 1px, transparent 1px),
|
linear-gradient(to right, var(--color-neutral-400) 1px, transparent 1px),
|
||||||
linear-gradient(to bottom, var(--color-grid-lines) 1px, transparent 1px);
|
linear-gradient(to bottom, var(--color-neutral-400) 1px, transparent 1px);
|
||||||
background-size: 30px 30px;
|
background-size: 30px 30px;
|
||||||
background-position: -1px -1px;
|
background-position: -1px -1px;
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
|
@ -72,7 +120,7 @@ body {
|
||||||
}
|
}
|
||||||
|
|
||||||
.intersection:hover {
|
.intersection:hover {
|
||||||
background-color: var(--color-intersection-hover);
|
background-color: var(--color-hover-overlay);
|
||||||
}
|
}
|
||||||
|
|
||||||
.stone-black-heart, .stone-white-heart {
|
.stone-black-heart, .stone-white-heart {
|
||||||
|
@ -92,7 +140,7 @@ body {
|
||||||
width: 12px;
|
width: 12px;
|
||||||
height: 20px;
|
height: 20px;
|
||||||
border-radius: 50% 50% 0 0;
|
border-radius: 50% 50% 0 0;
|
||||||
border: 1px solid var(--color-black);
|
border: 1px solid var(--color-neutral-900);
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
transform: rotate(-45deg);
|
transform: rotate(-45deg);
|
||||||
transform-origin: 0 100%;
|
transform-origin: 0 100%;
|
||||||
|
@ -108,26 +156,15 @@ body {
|
||||||
}
|
}
|
||||||
|
|
||||||
.stone-black-heart::before, .stone-black-heart::after {
|
.stone-black-heart::before, .stone-black-heart::after {
|
||||||
background-color: var(--color-heart-pink);
|
background-color: var(--color-primary-light);
|
||||||
}
|
}
|
||||||
|
|
||||||
.stone-white-heart::before, .stone-white-heart::after {
|
.stone-white-heart::before, .stone-white-heart::after {
|
||||||
background-color: var(--color-white);
|
background-color: var(--color-on-primary);
|
||||||
}
|
}
|
||||||
|
|
||||||
.last-move {
|
.last-move {
|
||||||
box-shadow: 0 0 5px 3px var(--color-last-move-glow);
|
box-shadow: 0 0 5px 3px var(--color-warning-light);
|
||||||
}
|
|
||||||
|
|
||||||
#messages {
|
|
||||||
margin-top: 10px;
|
|
||||||
font-size: 0.9em;
|
|
||||||
color: var(--color-text);
|
|
||||||
}
|
|
||||||
|
|
||||||
#title-box {
|
|
||||||
font-weight: bold;
|
|
||||||
color: var(--color-text);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#game-link-container {
|
#game-link-container {
|
||||||
|
@ -151,8 +188,8 @@ body {
|
||||||
}
|
}
|
||||||
|
|
||||||
#copy-link-button {
|
#copy-link-button {
|
||||||
background-color: var(--color-board-border);
|
background-color: var(--color-primary);
|
||||||
color: var(--color-text);
|
color: var(--color-on-primary);
|
||||||
border: none;
|
border: none;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
gap: 8px;
|
gap: 8px;
|
||||||
|
@ -160,11 +197,11 @@ body {
|
||||||
}
|
}
|
||||||
|
|
||||||
#copy-link-button:hover {
|
#copy-link-button:hover {
|
||||||
background-color: var(--color-grid-lines);
|
background-color: var(--color-primary-light);
|
||||||
}
|
}
|
||||||
|
|
||||||
#copy-link-button.copied-state {
|
#copy-link-button.copied-state {
|
||||||
background-color: var(--color-success-purple);
|
background-color: var(--color-success);
|
||||||
}
|
}
|
||||||
|
|
||||||
img.icon {
|
img.icon {
|
||||||
|
|
Loading…
Reference in New Issue