/* Color Palette */

:root {
	--bg-color: #dddddd;
	--text-color: #333;
	--bold-color: #444;
	--primary-color: #757d9d;
	--secondary-color: #eee;
	--accent-color: #454545;
	
	/* Modern gradient theme for games */
	--game-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	--game-bg-color: #667eea;
	--game-secondary: #764ba2;
	--game-card-bg: white;
	--game-shadow: 0 20px 40px rgba(0,0,0,0.1);
}

html {
    overflow: scroll;
}

body {
	color: var(--text-color);
	background-color: var(--bg-color);
	margin: 0;
	padding: 0;
}

header {
	background: var(--game-gradient);
	color: var(--secondary-color);
	padding: 1em;
	box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

h1 {
	margin: 0;
	font-size: 1.7em;
}

h1 >  a {
    text-decoration: none;
    color: var(--secondary-color);
}

h2 {
	margin: 0;
	font-size: 1.4em;
}

h3 {
	color: var(--bold-color);
	font-size: 1.2em;
}

p {
    max-width: 65em;
}

main {
    --padding: 0.7ex;
    --margin: 2.0vw;
    display: grid;
    grid-template-columns: minmax(15ex, 15vw) 1fr;
    position: relative;
	background-color: var(--secondary-color);
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
}

#nav {
}

ul {
    margin-top: 1vw;
    color: var(--text-color);
    text-decoration: none;
    text-align: center;
    /*max-width: 35vw;*/
    padding: var(--padding);
    display: flex; /* Changed to flexbox for vertical centering */
    flex-direction: column; /* Added to align items vertically */
    justify-content: center; /* Added to center items vertically */
    height: auto;
    width: auto;
    min-width: min-content;
}

li {
	list-style: none;
	display: block;
    padding: 1ex 0 0 0;
    margin-bottom: 2vh;
}

details > ul {
    margin-top: 0vh;
    margin-left: 5vw;
    text-align: left;
    margin-right: 0vw;
}

details > ul > li {
	margin-top: 1vh;
	margin-bottom: 1vh;
}

a {
    text-decoration: none;
    color: var(--accent-color);
}

#nav a:hover {
    color: var(--primary-color);
    text-decoration: underline;
}

article {
	margin-bottom: 1em;
}

article h2 {
	margin-top: 0;
}

article p:last-child {
	margin-bottom: 0;
}

details > summary {
  list-style: none;
  cursor: pointer;
}

details > summary.active {
	font-weight: bold;
}

details > summary > li:last-child {
	margin-bottom: 0;
}

details > summary::-webkit-details-marker {
  display: none;
}

#content {
    display: grid;
    padding: 1em;
	background-color: var(--secondary-color);
    min-height: 75vh;
}

.col {
    margin: var(--margin);
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
}

.col:last-child {
    margin-left: 0px;
}

footer {
  background-color: var(--primary-color);
  color: var(--secondary-color);
  text-align: center;
}

