/* 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 { background-color: var(--indigo-darkest); color: var(--text-primary); } /* Navbar */ .navbar { background-color: var(--indigo-dark); border-bottom: 1px solid var(--indigo-mid); } .navbar-brand { color: var(--coral); font-weight: 700; display: flex; align-items: center; gap: 0.4rem; } .navbar-brand:hover { color: var(--coral-light); } .navbar-nav .nav-link { color: var(--text-muted); border-radius: 6px; padding: 0.4rem 1rem; margin: 0 0.15rem; font-weight: 500; transition: background-color 0.2s, color 0.2s; } .navbar-nav .nav-link:hover { color: var(--heading-color); background-color: var(--nav-hover-bg); } .navbar-nav .nav-link.active { color: var(--heading-color); background-color: var(--indigo-mid); } /* Hero */ .hero { text-align: center; padding: 3rem 1rem; } .hero-emoji { font-size: 3rem; margin-bottom: 0.75rem; } .hero h1 { color: var(--heading-color); font-weight: 800; } .hero .lead { color: var(--text-muted); max-width: 500px; margin-left: auto; margin-right: auto; } /* Buttons */ .btn-accent { background-color: var(--coral); border-color: var(--coral); color: #ffffff; font-weight: 600; } .btn-accent:hover { background-color: var(--coral-light); border-color: var(--coral-light); color: #ffffff; } /* Cards */ .card { background-color: var(--indigo-dark); border-color: var(--indigo-mid); } /* Content pages */ .content-section { background-color: var(--indigo-dark); border: 1px solid var(--indigo-mid); border-radius: 8px; padding: 2rem; margin-bottom: 1.5rem; } .step-number { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; background-color: var(--indigo-mid); color: var(--gold); border-radius: 50%; font-weight: 700; font-size: 0.875rem; flex-shrink: 0; } .step-item { display: flex; gap: 1rem; align-items: flex-start; margin-bottom: 1.25rem; } .step-item p { margin: 0; } .tip-card { background-color: var(--tip-bg); border-left: 3px solid var(--gold); border-radius: 4px; padding: 1rem 1.25rem; margin-bottom: 0.75rem; } /* Footer */ .site-footer { border-top: 1px solid var(--indigo-mid); padding: 1.25rem 0; text-align: center; color: var(--text-muted); font-size: 0.85rem; margin-top: 3rem; } /* Game grid */ .game-grid { border-collapse: collapse; } .game-grid td { width: 2.5rem; height: 2.5rem; text-align: center; vertical-align: middle; font-size: 1.1rem; font-weight: 600; font-family: monospace; border: 1px solid var(--indigo-mid); cursor: pointer; user-select: none; transition: background-color 0.15s; } .game-grid td:hover { background-color: var(--indigo-mid); } .game-grid td.cell-selected { background-color: var(--coral-bg); outline: 2px solid var(--coral); outline-offset: -2px; } .game-grid td.cell-found { background-color: var(--coral); color: #ffffff; } /* Word list */ .list-group-item { background-color: var(--indigo-dark); border-color: var(--indigo-mid); color: var(--text-primary); } .list-group-item.word-found { text-decoration: line-through; color: var(--coral); } .card-header { background-color: var(--indigo-mid); border-color: var(--indigo-mid); color: var(--heading-color); font-weight: 600; } /* Form controls */ .form-select, .form-control { background-color: var(--indigo-dark); border-color: var(--indigo-mid); color: var(--text-primary); } .form-select:focus, .form-control:focus { background-color: var(--indigo-dark); border-color: var(--coral); color: var(--text-primary); box-shadow: 0 0 0 0.2rem var(--coral-bg); } .form-range::-webkit-slider-thumb { background: var(--coral); } .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); }