* {
    padding: 0;
    margin: 0;
    list-style-type: none;
    box-sizing: border-box;
    font-family: Tahoma;
    outline: none;
}

body {
    font-size: 15px;
    background: #463c54;
}
a {
    text-decoration: none;
}

.wrapper {
    border-radius: 8px;
    margin: 10px auto;
    background: #fff;
    box-shadow: 0 6px 2px purple;
    width: 380px;
}
canvas {
    width: 100%;
}
.main {
    padding: 15px;
}
h1 {
    padding: 5px 20px;
    background: purple;
    color: #fff;
    border-radius: 0 0 10px 10px;
    box-shadow: 0 3px 0 #111;
    border: 2px solid #222;
    border-top: 0;
}
input[type="text"] {
    border: 2px solid purple;
    padding: 10px 10px;
    border-radius: 6px;
    background: #fbfbfb;
    width: 100%;
    box-shadow: 0 0 10px #ddd inset;
    color: #444;
}
.clear {
    background: #111;
    padding: 10px 15px;
    color: #fff;
    border-radius: 6px;
    box-shadow: 0 0 5px #ddd;
}
.centbox {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.download {
    padding: 10px;
    border-radius: 6px;
    background: lightgreen;
    box-shadow: 0 2px 2px green;
    color: #222;
    font-weight: bold;
}
.footer {
    margin-top: 20px;
    color: #ccc;
    opacity: 1;
}
.footer a {
    color: yellow;
}
.row {
    display: flex;
}
.column {
    display: flex;
    flex-direction: column;
}
.g5  {gap:5px}
.g10 {gap:10px}
.g15 {gap:15px}
.g20 {gap:20px}

.ac {align-items:center;}
.jc {justify-content: center;}
.wrapper canvas, .wrapper img {
    width:100%;
}