*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:Inter,Arial,sans-serif;
}

body{
    background:#050505;
    color:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    min-height:100vh;
    padding:30px;
}

.container{
    width:100%;
    max-width:480px;
}

h1{
    text-align:center;
    font-size:42px;
    font-weight:700;
}

.subtitle{
    text-align:center;
    color:#888;
    margin-top:10px;
    margin-bottom:35px;
}

.picker{
    display:flex;
    gap:18px;
    justify-content:center;
    align-items:flex-start;
}

#colorCanvas{
    width:320px;
    height:320px;
    border-radius:20px;
    background:#fff;
    cursor:crosshair;
    border:2px solid #222;
    touch-action:none;
}

#hueCanvas{
    width:45px;
    height:320px;
    border-radius:20px;
    cursor:pointer;
    border:2px solid #222;
    touch-action:none;
}

.preview{
    width:100%;
    height:120px;
    margin-top:30px;
    border-radius:20px;
    background:#ff0000;
    border:2px solid #222;
    transition:.15s;
}

.output{
    margin-top:25px;
}

.output label{
    display:block;
    margin-bottom:10px;
    color:#999;
    font-size:14px;
}

.copy-box{
    display:flex;
    gap:12px;
}

.copy-box input{
    flex:1;
    background:#101010;
    color:#fff;
    border:2px solid #222;
    border-radius:16px;
    padding:18px;
    font-size:20px;
    outline:none;
}

.copy-box button{
    width:110px;
    border:none;
    border-radius:16px;
    background:#fff;
    color:#000;
    font-size:18px;
    cursor:pointer;
    transition:.2s;
}

.copy-box button:hover{
    transform:translateY(-2px);
}

#randomBtn{
    width:100%;
    margin-top:25px;
    padding:18px;
    border:none;
    border-radius:16px;
    background:#fff;
    color:#000;
    font-size:18px;
    font-weight:600;
    cursor:pointer;
    transition:.2s;
}

#randomBtn:hover{
    transform:translateY(-2px);
}

@media(max-width:600px){

    h1{
        font-size:34px;
    }

    .picker{
        gap:12px;
    }

    #colorCanvas{
        width:250px;
        height:250px;
    }

    #hueCanvas{
        width:38px;
        height:250px;
    }

    .copy-box{
        flex-direction:column;
    }

    .copy-box button{
        width:100%;
        height:58px;
    }

}