.kpamp{
    width:100%;
    max-width:430px;
}

.kpamp-window,
.kpamp-playlist-window{
    background:rgb(19, 29, 15);
    border:1px solid var(--line);
    position:relative;
    padding:8px;
}

.kpamp-window::before,
.kpamp-playlist-window::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:14px;
    height:14px;
    border-top:1px solid var(--green);
    border-left:1px solid var(--green);
    opacity:.4;
}

.kpamp-window::after,
.kpamp-playlist-window::after{
    content:"";
    position:absolute;
    right:0;
    bottom:0;
    width:14px;
    height:14px;
    border-right:1px solid var(--green);
    border-bottom:1px solid var(--green);
    opacity:.4;
}

.kpamp-playlist-window{
    margin-top:5px;
}

.kpamp-titlebar{
    padding:6px 16px;
    background:#091109;
    border-bottom:2px solid var(--line);
    color:var(--green-bright);
    font-family:'VT323',monospace;
    font-size:1rem;
    text-align:center;
    white-space:nowrap;
    border: 1px solid var(--line);
}

.kpamp-inner{
    border:1px solid var(--line);
}

.kpamp-top{
    display:grid;
    grid-template-columns:130px 1fr;
    gap:12px;
    padding:14px;
}

.kpamp-time-panel{
    background:#000;
    border:1px solid var(--line);
    padding:10px;
    box-shadow:inset 0 0 12px rgba(124,255,124,.15);
}

.kpamp-time{
    color:var(--green-bright);
    font-family:'VT323',monospace;
    font-size:2.2rem;
    text-align:center;
    margin-bottom:10px;
}

.kpamp-bars{
    height:60px;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    gap:4px;
}

.kpamp-bars span{
    width:8px;
    min-height:8px;
    align-self:flex-end;
    transition:height .05s linear;
    background:linear-gradient(
        to bottom,
        #ff2020 0%,
        #ff8800 20%,
        #ffff00 40%,
        #7dff2a 60%,
        #32ff32 100%
    );
}

.kpamp-display{
    background:#000000;
    border:1px solid var(--line);
    padding:12px;
    box-shadow:inset 0 0 12px rgba(124,255,124,.15);
    display:flex;
    flex-direction:column;
}

.kpamp-track{
    color:#b8ff9f;
    font-size:1.2rem;
    margin-bottom:8px;
    text-shadow:0 0 4px rgba(184,255,159,.5);
    overflow:hidden;
    flex:1;
}

.kpamp-status{
    color:#7dff7d;
    margin-bottom:14px;
    text-shadow:0 0 4px rgba(124,255,124,.4);
}

.kpamp-meta{
    display:flex;
    gap:12px;
    margin-bottom:8px;
    font-size:.8rem;
    color:var(--green);
    flex-wrap:wrap;
}

.kpamp-trackno,
.kpamp-length,
.kpamp-bitrate{
    white-space:nowrap;
}

.kpamp-progress{
    position:relative;
    height:12px;
    margin:0 14px 12px;
    background:#000;
    border:1px solid var(--line);
    cursor:pointer;
}

.kpamp-progress-fill{
    width:0%;
    height:100%;
    background:var(--green-bright);
}

.kpamp-controls{
    display:flex;
    justify-content:center;
    gap:8px;
    padding:0 14px 14px;
}

.kpamp-controls button{
    width:50px;
    height:34px;
    background:#0a0f0a;
    border:1px solid var(--line);
    color:var(--green-bright);
    cursor:pointer;
    display:flex;
    justify-content:center;
    align-items:center;
}

.kpamp-controls button img{
    width:20px;
    height:20px;
    display:block;
}
.kpamp-controls button:hover{
    background:rgba(120,240,142,.08);
}

#kp-stop{
    font-size:1.35rem;
}

#kp-playlist{
    height:220px;
    overflow:auto;
    background:#000;
    border:1px solid var(--line);
}

.kp-track-row{
    padding:6px 8px;
    color:var(--green);
    cursor:pointer;
}

.kp-track-row:hover,
.kp-track-row.active{
    background:#0b240d;
    color:var(--green-bright);
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:700px){

    .kpamp-display{
        padding:4px 8px;
        justify-content:flex-end;
    }

    .kpamp-controls button img{
        width:18px;
        height:18px;
    }

    .kpamp-track{
        margin-bottom:2px;
    }

    .kpamp-meta{
        line-height:1;
        gap:6px;
    }

    .kpamp-status{
        line-height:1;
        margin-top:0;
        padding-top:0;
    }

}

.kpamp.jam-mode{
    --line:#fff176;
    --green:#f1e190;
    --green-bright:#ffe45c;
}

.kpamp.jam-mode .kpamp-window,
.kpamp.jam-mode .kpamp-playlist-window{
    background:#919110;
}