JSFiddle - React, Tailwind, and code Playground

HTML

<div class="rainbowWrap">
    <div class="rainbowBg"></div>
    <input class="rainbow" type="text"/>
</div>

CSS

body {
    background: #FFF;
}

.rainbowWrap {
    width: 200px;
background: #ff4747; /* Old browsers */
background: -moz-linear-gradient(left, #ff4747 0%, #ffe349 16%, #49ff7a 41%, #49b9ff 59%, #49b9ff 59%, #494fff 73%, #f549ff 87%, #ff474a 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, right top, color-stop(0%,#ff4747), color-stop(16%,#ffe349), color-stop(41%,#49ff7a), color-stop(59%,#49b9ff), color-stop(59%,#49b9ff), color-stop(73%,#494fff), color-stop(87%,#f549ff), color-stop(100%,#ff474a)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(left, #ff4747 0%,#ffe349 16%,#49ff7a 41%,#49b9ff 59%,#49b9ff 59%,#494fff 73%,#f549ff 87%,#ff474a 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(left, #ff4747 0%,#ffe349 16%,#49ff7a 41%,#49b9ff 59%,#49b9ff 59%,#494fff 73%,#f549ff 87%,#ff474a 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(left, #ff4747 0%,#ffe349 16%,#49ff7a 41%,#49b9ff 59%,#49b9ff 59%,#494fff 73%,#f549ff 87%,#ff474a 100%); /* IE10+ */
background: linear-gradient(to right, #ff4747 0%,#ffe349 16%,#49ff7a 41%,#49b9ff 59%,#49b9ff 59%,#494fff 73%,#f549ff 87%,#ff474a 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ff4747', endColorstr='#ff474a',GradientType=1 ); /* IE6-9 */
    padding: 4px;
    box-shadow: inset 0px 0px 5px 3px white;
    border-radius: 2px;
    position:relative;
    z-index: 1;
}

.rainbowBg {
    width: 184px;
    height:15px;
    background: white;
    position:absolute;
    top: 10px;
    left: 10px;
    box-shadow: 0px 0px 7px 2px white, 0px 0px 13px 2px white;
    border-radius: 4px;
    z-index: 2;
}

.rainbow {
    width:186px;
    background:transparent;
    border:1px solid rgba(255,255,255,0.5);
    padding: 5px;
    border-radius: 4px;    
    outline:none;
    display: block;
    z-index: 500;
}

.rainbow:focus{
    border:1px solid white;
}