
body {
font-family: "Segoe UI", Arial, sans-serif;
background: linear-gradient(135deg, #f0f4f8 0%, #e1e8ed 100%);
padding: 3rem;
text-align: center;
margin: 0;
min-height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
}
h1 {
color: #2c3e50;
font-size: 2.5rem;
margin-bottom: 0.5rem;
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.1);
}
p {
color: #7f8c8d;
font-size: 1.1rem;
margin: 0 0 2rem 0;
max-width: 600px;
}
canvas {
border: none;
margin-top: 2rem;
background: white;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
border-radius: 12px;
transition: transform 0.3s ease;
}
canvas:hover {
transform: translateY(-2px);
}
.controls {
margin-top: 2rem;
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 1.5rem;
background: white;
padding: 1.5rem;
border-radius: 12px;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
max-width: 900px;
width: 100%;
transition: transform 0.3s ease;
}
.controls:hover {
transform: translateY(-2px);
}
label {
display: flex;
align-items: center;
gap: 0.5rem;
color: #34495e;
font-weight: 500;
font-size: 0.95rem;
}
input[type="range"],
input[type="number"],
input[type="text"],
select {
padding: 0.5rem;
border: 1px solid #dfe6e9;
border-radius: 6px;
background: #f9fafb;
font-size: 0.9rem;
transition: border-color 0.2s ease;
}
input[type="range"]:focus,
input[type="number"]:focus,
input[type="text"]:focus,
select:focus {
border-color: #3498db;
outline: none;
}
input[type="range"] {
width: 100px;
cursor: ew-resize;
}
input[type="number"] {
width: 60px;
}
input[type="text"] {
width: 150px;
}
select {
padding-right: 1.5rem;
cursor: pointer;
}
span {
min-width: 2rem;
text-align: left;
color: #2c3e50;
}
button {
background: linear-gradient(45deg, #3498db, #2980b9);
color: white;
border: none;
padding: 0.75rem 1.5rem;
border-radius: 6px;
font-size: 1rem;
font-weight: 600;
cursor: pointer;
transition: transform 0.2s ease, box-shadow 0.2s ease;
}
button:hover {
transform: translateY(-2px);
box-shadow: 0 4px 10px rgba(52, 152, 219, 0.3);
}
button:active {
transform: translateY(0);
}
#customInputs {
display: none;
flex-wrap: wrap;
gap: 1rem;
margin-top: 1rem;
}
@media (max-width: 600px) {
body {
    padding: 1.5rem;
}
h1 {
    font-size: 2rem;
}
.controls {
    gap: 1rem;
    padding: 1rem;
}
label {
    flex-direction: column;
    align-items: flex-start;
}
input[type="range"] {
    width: 80px;
}
input[type="text"] {
    width: 120px;
}
}