From d3800345e59ec2d10156de563dc00b8194b7b2c7 Mon Sep 17 00:00:00 2001 From: sepia Date: Sun, 20 Jul 2025 17:41:24 -0500 Subject: [PATCH] Mess with colors --- public/style.css | 121 +++++++++++++++++++++++++++++++---------------- 1 file changed, 79 insertions(+), 42 deletions(-) diff --git a/public/style.css b/public/style.css index 95d497b..13055f2 100644 --- a/public/style.css +++ b/public/style.css @@ -1,17 +1,61 @@ + + :root { - --color-background-light-pink: #ffe0f0; - --color-text: #333; - --color-game-container-bg: white; - --color-game-container-shadow: rgba(0, 0, 0, 0.1); - --color-board-bg: #ffefff; - --color-board-border: #ffccff; - --color-grid-lines: #ff99ff; - --color-intersection-hover: rgba(255, 192, 203, 0.3); - --color-heart-pink: #FFB6C1; - --color-last-move-glow: rgba(255, 255, 0, 0.7); - --color-black: #000; - --color-white: #fff; - --color-success-purple: #e0b0ff; + /* PRIMARY BRAND COLORS */ + --color-primary: #C12675; /* Main brand color - primary buttons, links, highlights */ + --color-primary-light: #D84A95; /* Hover states for primary elements, lighter accents */ + --color-primary-dark: #9A1C5B; /* Active states, pressed buttons, darker emphasis */ + --color-primary-subtle: #F4E6EE; /* Background tints, very light overlays, subtle highlights */ + + /* SECONDARY ACCENT COLORS */ + --color-secondary: #8B4A9C; /* Secondary buttons, alternative CTAs, complementary actions */ + --color-secondary-light: #A866B8; /* Hover states for secondary elements */ + --color-secondary-dark: #6D3B7A; /* Active states for secondary elements */ + + /* NEUTRAL GRAYS */ + --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 { @@ -22,25 +66,29 @@ body { justify-content: center; min-height: 100vh; margin: 0; - background-color: var(--color-background-light-pink); - color: var(--color-text); + background-color: var(--color-bg-accent); + color: var(--color-on-light); } #game-container { - background-color: var(--color-game-container-bg); + background-color: var(--color-bg-primary); padding: 20px; border-radius: 12px; - box-shadow: 0 0 20px var(--color-game-container-shadow); + box-shadow: 0 0 20px var(--color-shadow); text-align: center; } +#title-box { + padding-top: 0.25em; + padding-bottom: 0.25em; +} + .game-board-grid { position: relative; width: calc(14 * 30px); height: calc(14 * 30px); - margin-top: 20px; - background-color: var(--color-board-bg); - border: 2px solid var(--color-board-border); + background-color: var(--color-bg-tertiary); + border: 2px solid var(--color-neutral-700); } .game-board-grid::before { @@ -51,8 +99,8 @@ body { width: 100%; height: 100%; background-image: - linear-gradient(to right, var(--color-grid-lines) 1px, transparent 1px), - linear-gradient(to bottom, var(--color-grid-lines) 1px, transparent 1px); + linear-gradient(to right, var(--color-neutral-400) 1px, transparent 1px), + linear-gradient(to bottom, var(--color-neutral-400) 1px, transparent 1px); background-size: 30px 30px; background-position: -1px -1px; pointer-events: none; @@ -72,7 +120,7 @@ body { } .intersection:hover { - background-color: var(--color-intersection-hover); + background-color: var(--color-hover-overlay); } .stone-black-heart, .stone-white-heart { @@ -92,7 +140,7 @@ body { width: 12px; height: 20px; border-radius: 50% 50% 0 0; - border: 1px solid var(--color-black); + border: 1px solid var(--color-neutral-900); box-sizing: border-box; transform: rotate(-45deg); transform-origin: 0 100%; @@ -108,26 +156,15 @@ body { } .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 { - background-color: var(--color-white); + background-color: var(--color-on-primary); } .last-move { - box-shadow: 0 0 5px 3px var(--color-last-move-glow); -} - -#messages { - margin-top: 10px; - font-size: 0.9em; - color: var(--color-text); -} - -#title-box { - font-weight: bold; - color: var(--color-text); + box-shadow: 0 0 5px 3px var(--color-warning-light); } #game-link-container { @@ -151,8 +188,8 @@ body { } #copy-link-button { - background-color: var(--color-board-border); - color: var(--color-text); + background-color: var(--color-primary); + color: var(--color-on-primary); border: none; cursor: pointer; gap: 8px; @@ -160,11 +197,11 @@ body { } #copy-link-button:hover { - background-color: var(--color-grid-lines); + background-color: var(--color-primary-light); } #copy-link-button.copied-state { - background-color: var(--color-success-purple); + background-color: var(--color-success); } img.icon {