Mess with colors

This commit is contained in:
sepia 2025-07-20 17:41:24 -05:00
parent 605c111c73
commit d3800345e5
1 changed files with 79 additions and 42 deletions

View File

@ -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 {