*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:Arial,Helvetica,sans-serif;
}

body{

    background:#101826;

    color:#ffffff;

    min-height:100vh;

}

.topbar{

    background:#1b2435;

    padding:25px;

    text-align:center;

    box-shadow:0 3px 15px rgba(0,0,0,.35);

}

.topbar h1{

    font-size:40px;

    margin-bottom:8px;

}

.topbar p{

    color:#c6cfdb;

    font-size:18px;

}

.app{

    display:grid;

    grid-template-columns:340px 1fr;

    gap:25px;

    padding:25px;

}

.sidebar{

    background:#1d2638;

    border-radius:14px;

    padding:25px;

}

.sidebar h2{

    margin-bottom:25px;

}

.form-group{

    margin-bottom:18px;

}

.form-group label{

    display:block;

    font-weight:bold;

    margin-bottom:8px;

}

.form-group select{

    width:100%;

    height:45px;

    border:none;

    border-radius:8px;

    padding:0 12px;

    font-size:16px;

}

.form-group input[type=range]{

    width:100%;

    margin-top:8px;

}

button{

    width:100%;

    height:52px;

    border:none;

    border-radius:10px;

    color:white;

    font-size:18px;

    cursor:pointer;

    margin-top:15px;

}

#previewBtn{

    background:#2563eb;

}

#recordBtn{

    background:#dc2626;

}

#downloadBtn{

    background:#10b981;

}

button:hover{

    opacity:.9;

}

.preview{

    background:#1d2638;

    border-radius:14px;

    padding:20px;

    display:flex;

    justify-content:center;

    align-items:flex-start;

    overflow:auto;

}

canvas{

    display:block;

    width:100%;

    max-width:100%;

    height:auto;

    aspect-ratio:16/9;

    background:#000;

    border-radius:10px;

}

@media(max-width:900px){

.app{

grid-template-columns:1fr;

}

}