body{
background:#000;
color:#fff;
font-family:Arial, Helvetica, sans-serif;
margin:0;
text-align:center;
}

.app{
max-width:1200px;
margin:auto;
padding:20px;
}

header{
margin-bottom:20px;
}

canvas{
max-width:100%;
border:1px solid #333;
margin-bottom:20px;
}

/* CONTROLS */

.controls{
display:flex;
flex-direction:column;
gap:14px;
max-width:900px;
margin:0 auto 20px auto;
}

/* DESKTOP layout */

.controls label{
display:grid;
grid-template-columns:160px 1fr 60px;
align-items:center;
gap:10px;
text-align:left;
}

input[type=range]{
width:100%;
}

/* checkbox */

.check{
display:flex;
justify-content:center;
gap:10px;
margin-bottom:12px;
}

/* RAW support text */

.description{
margin-top:18px;
font-size:16px;
font-weight:bold;
color:#fff;
}

/* footer */

.footer{
margin-top:30px;
font-size:12px;
color:#aaa;
}

/* ========================= */
/* MOBILE FIX                */
/* ========================= */

@media (max-width:600px){

.controls{
max-width:95%;
}

/* keep grid but reorganize */

.controls label{
display:grid;
grid-template-columns:1fr 40px;
grid-template-rows:auto auto;
gap:6px;
}

/* label text (top row) */
.controls label span:first-child{
grid-column:1 / span 2;
}

/* slider (bottom left) */
.controls label input[type=range]{
grid-column:1;
grid-row:2;
width:100%;
}

/* value (bottom right) */
.controls label span:last-child{
grid-column:2;
grid-row:2;
text-align:right;
font-size:14px;
color:#ccc;
}

}