/* Dark mode (default) */
body {
font-family: Arial, sans-serif;
max-width: 800px;
margin: 50px auto;
padding: 20px;
background-color: #0a0a0a;
color: #e5e5e5;
transition: background-color 0.3s, color 0.3s;
}
.container {
background-color: #1a1a1a;
padding: 30px;
border-radius: 10px;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
transition: background-color 0.3s, box-shadow 0.3s;
}
h1 {
color: #ffffff;
text-align: center;
transition: color 0.3s;
}
.input-section {
margin: 20px 0;
}
input {
width: 100%;
padding: 12px;
font-size: 18px;
border: 2px solid #404040;
border-radius: 5px;
box-sizing: border-box;
background-color: #2a2a2a;
color: #e5e5e5;
transition: background-color 0.3s, color 0.3s, border-color 0.3s;
}
input:focus {
outline: none;
border-color: #707070;
}
#character-target {
margin: 30px auto;
text-align: center;
}

/* WASD Controls Layout */
.wasd-controls {
display: flex;
flex-direction: column;
align-items: center;
gap: 10px;
margin: 20px 0;
}

.wasd-row {
display: flex;
gap: 10px;
justify-content: center;
}

.wasd-btn {
width: 80px;
height: 80px;
padding: 8px;
font-size: 24px;
font-weight: bold;
border: 2px solid #505050;
border-radius: 8px;
cursor: pointer;
background-color: #2a2a2a;
color: #e5e5e5;
transition: background-color 0.3s, border-color 0.3s, transform 0.1s;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
line-height: 1.2;
}

.wasd-btn .btn-label {
font-size: 11px;
font-weight: normal;
margin-top: 4px;
opacity: 0.7;
}

.wasd-btn:hover {
background-color: #3a3a3a;
border-color: #606060;
transform: translateY(-2px);
}

.wasd-btn:active {
background-color: #1a1a1a;
border-color: #707070;
transform: translateY(0);
}

/* Stroke Info Display */
.stroke-info-display {
text-align: center;
margin: 20px 0;
}

#strokeInfo {
font-size: 18px;
font-weight: bold;
color: #a0a0a0;
transition: color 0.3s;
}

button {
padding: 10px 20px;
font-size: 16px;
border: 2px solid #505050;
border-radius: 5px;
cursor: pointer;
background-color: #2a2a2a;
color: #e5e5e5;
transition: background-color 0.3s, border-color 0.3s;
}
button:hover {
background-color: #3a3a3a;
border-color: #606060;
}
button:active {
background-color: #1a1a1a;
border-color: #707070;
}
.info {
text-align: center;
color: #808080;
margin-top: 20px;
font-size: 14px;
transition: color 0.3s;
}
/* Light mode - only when system prefers light */
@media (prefers-color-scheme: light) {
body {
background-color: #f0f0f0;
color: #1a1a1a;
  }
.container {
background-color: #ffffff;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
  }
h1 {
color: #000000;
  }
input {
background-color: #ffffff;
color: #1a1a1a;
border-color: #d0d0d0;
  }
input:focus {
border-color: #808080;
  }
.wasd-btn {
background-color: #f5f5f5;
color: #1a1a1a;
border-color: #c0c0c0;
  }
.wasd-btn:hover {
background-color: #e5e5e5;
border-color: #a0a0a0;
  }
.wasd-btn:active {
background-color: #d5d5d5;
border-color: #909090;
  }
button {
background-color: #f5f5f5;
color: #1a1a1a;
border-color: #c0c0c0;
  }
button:hover {
background-color: #e5e5e5;
border-color: #a0a0a0;
  }
button:active {
background-color: #d5d5d5;
border-color: #909090;
  }
.info {
color: #606060;
  }
#strokeInfo {
color: #404040;
  }
}